204 posts from: Steven Smith
Web Deployment Projects for 2008
(Indexed 2008-01-28):
[Image]Web Deployment Projects (WDP) for Visual Studio 2008 were released to the web (RTW) a couple of days ago. These didn't make the November ship date of VS2008, but were promised to follow shortly after release, and as promised, they're here! I haven't looked at the 2008 version yet - personally I use PyroBatchFTP + CC.NET + MSBuild to do my deployments - but I may have a look and reconsider my approach. One thing that would be nice is the configuration merge capabilities offered by WDP. ...(truncated)...
Ohio Day of .NET
(Indexed 2008-01-23):
Several user groups in southern and central Ohio are putting together a Day of .NET event this spring. The Central Ohio Day of .NET 2008 will take place on 19 April 2008, in Wilmington, Ohio. This was originally the Cincinnati-Dayton Code camp and ran in 2006-2007, but now includes a Columbus, OH group and so has been renamed. The location is about as centrally between Dayton, Cincinnati, and Columbus as you can get, off of 71. The event is still in the planning stage and they're looking for ...(truncated)...
Silverlight Hyperlink
(Indexed 2008-01-17):
Playing with Silverlight and needed a simple way to redirect the page. This isn't built-in yet but probably will be. For now, you can call out to the page's script, and for this since I don't want to rely on the page having any particular function defined, I'm just using Eval() and passing in what I need.So, in a button MouseLeftButtonDown() handler, I've got:HtmlPage.Window.Eval("document.location.href='" + url + "';");*Update* - This is in fact built in:HtmlPage.W...(truncated)...
TFS Tips
(Indexed 2008-01-16):
I'm just wrapping up a long article on Team System 2008 and its new capabilities, especially its continuous integration support and build server improvements. In the course of researching for this article, I found a couple of tips that didn't really fit into the scope of the article, but I wanted to call attention to them. The first one addresses a pain point of mine, which is the default action when you associate a work item with a check-in. By default, the default check-in action for such w...(truncated)...
Visual Studio XAML Editing Tip
(Indexed 2008-01-14):
So I'm working in XAML in Visual Studio 2008 and it has some nice statement completion features now, like automatically quoting my attributes for me (cool!). When there's an item it knows, like Orientation="Horizontal|Vertical" it will give me a dropdown and after selection, put the cursor after the closing double quote, as you would expect, like this (the _ represents the cursor):
CodeMash Hanselman IIS Talk
(Indexed 2008-01-10):
I'm at CodeMash today and Scott Hanselman gave the afternoon keynote on IIS7 mashups. The talk was preceded by a very funny introduction Scott gave that introduced me to the LOLCode.NET language with the help of some LOLCats and humorous sample code. The talk focused on how to hook up a PHP application in IIS7, and then enhance it with a few features by adding modules to the HTTP pipeline. For instance, authentication using ASP.NET Forms authentication was trivial to add. Url rewriting and r...(truncated)...
Trends in Programming Languages
(Indexed 2008-01-08):
Al Pascual wrote about some trends he noticed using Google Trend, with regard to different programming languages. It's an interesting tool, since it can be used to gauge general interest in particular keywords and search terms, as well as news, going back about 4 years. For instance, here's a comparison of Visual Basic and C# using common search terms for each (VB, VB.NET vs. C#, CSharp): [Image] Given just these search terms, it's clear that VB/VB.NET is on a downward trend, with C#/CSharp pa...(truncated)...
SimpleCMS for IIS7
(Indexed 2008-01-04):
SimpleCMS is a (very) simple content management system I developed with Brendan for ASPAlliance.com and which is now available from CodePlex (with source). Steve Schofield recently put it to work in IIS7, a scenario we have not yet tested ourselves, and found that it worked more-or-less without difficulties. He posted his steps for setting up SimpleCMS using IIS7 and the Integrated Pipeline if anybody is interested.Share this post: email it! | bookmark it! | digg it! | reddit! | kick it! |...(truncated)...
Fall DevConnections Session Comments
(Indexed 2008-01-03):
I've been speaking at the DevConnections conferences since Fall of 2001 and have really enjoyed the experience. The speakers are a great group of people to hang out with, Shirley and Erik and Paul and the rest of the team put together a very well-organized event, and this last show was very impressive in terms of its attendance and breadth of content. Over the years, the level of feedback speakers receive, in terms of how the evaluations turned in by attendees are handled, has steadily improve...(truncated)...
Holiday Skins for .NET Controls
(Indexed 2007-12-14):
[Image] As the end of year holiday season approaches, it's fairly common for some web sites and products to re-skin their logos and applications to make them a little more festive or seasonal. Google has long been known for their creative variations of their logo in response to various holidays throughout the year. This year, at least one .NET control vendor, DevExpress, has created a Holiday UI skin for Windows. This is an application-wide UI skin, which developers can use to instantly modify...(truncated)...
RegExLib Redesign Complete
(Indexed 2007-12-12):
[Image]We've done some design work on the Regular Expression Library, and cleaned up the code base significantly to get rid of some cruft and fix a few bugs. The site gets a surprisingly large amount of traffic, considering how esoteric a topic regular expressions are, and hopefully the new design will make it that much easier for people to search for regular expression examples. You can see some of its earlier (and much uglier) designs in the Internet Archive Wayback Machine, which has archiv...(truncated)...
Being Agile Means Understanding When to Change
(Indexed 2007-12-12):
While I was completing my drive into work this morning, I was thinking about a book I read recently, Cryptonomicon (highly recommended - very smart and interesting), in which there's an exchange between a WWII German cryptanalyst and some of his Allied counterparts. The German had discovered a flaw in the Enigma system used by the Germans during the war, and had written a paper about how to exploit the flaw (something the Allies had been actively doing, unbeknownst to Berlin, for some time). T...(truncated)...
MVC Getting Started
(Indexed 2007-12-12):
Scott Hanselman has posted a very well done screencast on getting started with Model View Controller for ASP.NET, which I watched and did all the code for last night. There was only one hangup in the code portion, which has to do with changes that were made post-production to the MvcToolkit. The code given in the screencast doesn't work, but this simple fix does:x.Update(ViewData.ProductID))) { %> Anyway, Scott really went above and beyond on the production of this video, enough so that I ...(truncated)...
Cool Apps from Microsoft
(Indexed 2007-12-12):
I attended the Cleveland .NET SIG last night, where Jeff Blankenburg (my new Developer Evangelist) gave a demo-rich presentation on some cool new(ish) applications Microsoft has been working on this year. Most of them I'd already seen, but it was a good presentation and parts of it were new to me (like the Seadragon Video), and the audience was duly impressed. Here's a rundown of what was covered - Jeff has promised the slides (minimal though they were) on his blog soon. [Image] Microsoft Pop...(truncated)...
MVC and ASP.NET 3.5 Extensions Preview Available Now
(Indexed 2007-12-10):
A couple of days later than expected, but the bits are available now as Brad Abrams announced a little while ago. Read his post for all the goodies, or just Download, Get Started, and DiscussShare this post: email it! | bookmark it! | digg it! | reddit! | kick it! | live it![Image][Image]
Generic Web Controls and EnumDropDownList
(Indexed 2007-12-05):
I just published an article on ASPAlliance that shows a few different techniques for binding a DropDownList control in ASP.NET to an enumerated type (enum). As part of the article, I wrote a custom control that uses generics to bind a DropDownList to an enum. Unfortunately, I ran into problems with declaratively defining this control within ASP.NET markup, and thus far there is no support from the ASP.NET engine for generic types within the markup (though it has been discussed here). In respo...(truncated)...
Save SQL Query Results With Column Names
(Indexed 2007-12-02):
A minor frustration I've had with SQL Server for years is that when copying the results to Excel, the column names are not included. Well, Brendan blogged about this yesterday, and in a great demonstration of the value of blogging, he received a comment with the answer to this problem within a couple of hours. It turns out this can be done by going to Tools - Options - Query Results - Sql Server - Results to Grid - Include column headers when copying or saving results. Beautiful. Here...(truncated)...
Web Deployment Projects for VS2008
(Indexed 2007-12-02):
Yesterday, Microsoft released a CTP for Web Deployment Projects for Visual Studio 2008. I don't use these in my own projects, having built a robust system that revolves around CruiseControl.NET and PyroBatchFTP, but it sounds like they have fixed some of the pain points with the new release, which has these new features: Full migration support from WDP for VS 2005 WDP output is replaced only if the WDP build succeeds IIS7 Support There is a fairly extensive walkthrough with the announcement he...(truncated)...
Silverlight 2.0 Is Coming
(Indexed 2007-11-29):
ScottGu today announced what many of us have been wondering and hoping would happen with regard to the next shipping version of Silverlight, which is that it will in fact be dubbed 2.0 rather than 1.1. My personal feeling on this is that it's a very smart move, expecially given the long period of time between the releases (which most people did not realize when 1.0 Beta and 1.1 Alpha were previewed earlier this year at MIX) and the huge difference in the capabilities of these two platforms. I'...(truncated)...
Learn VS 2008 and .NET 3.5
(Indexed 2007-11-21):
[Image]Guy pointed out a great resource for learning the newly released Visual Studio 2008 for free: the Visual Studio 2008 and .NET Framework 3.5 Training Kit, from Microsoft. To quote the site: The Visual Studio 2008 and .NET Framework 3.5 Training Kit includes presentations, hands-on labs, and demos. This content is designed to help you learn how to utilize the Visual Studio 2008 features and a variety of framework technologies including: LINQ, C# 3.0, Visual Basic 9, WCF, WF, WPF, ASP.NET ...(truncated)...
Visual Studio Team Suite 2008 Available
(Indexed 2007-11-19):
Visual Studio Team Suite 2008 is now available to MSDN Subscribers (a fact which is apparently well known, since the server seems to be suffering from the load). Anyway, when the load on the servers reaches an equilibrium, you should be able to pick up the new VS2008 - amazing that you can do so while it's still 2007, since it seems like usually software products with years in their names struggle to ship during that year, much less before it.Share this post: email it! | bookmark it! | digg i...(truncated)...
Developer Acronyms for 2007
(Indexed 2007-11-13):
I've learned a few new acronyms this year and thought I'd start this post to let others share their favorites as well. Some of these are new to me, and some are classics that I thought were worth including even though they certainly predate 2007. Where possible I've included a link to find more information on the acronym/topic. AJAX - Asynchronous JavaScript and XML CAPTCHA - Completely Automated Public Turing test to tell Computers and Humans Apart (Carnegie Mellon) CI - Continuous Integratio...(truncated)...
DevConnections Afterthoughts and Presentations
(Indexed 2007-11-10):
I got back from DevConnections yesterday at 7am (took the redeye flight), after being gone since Saturday. I'm glad to be home, and I know it will be a few days before I'm even close to caught up on everything that fell behind while I was in Vegas. The show was great, though, and this is sort of my summary of the last week. I flew in early for DevExpress's TechSummit, which included about 20 other guests and about a dozen members of the DevExpress team. It was great to get to spend some time ...(truncated)...
ASP.NET Membership Manager
(Indexed 2007-11-10):
In my session this week on Membership and Personalization in ASP.NET, I mentioned a commercial control for this but couldn't recall the name or URL. Well, here it is, the ASP.NET Membership Management control from Quality Data. I have not personally used the control, but it looks like it has all the features one would need. It's currently $59 per web server, which seems pretty reasonable.Share this post: email it! | bookmark it! | digg it! | reddit! | kick it! | live it![Image][Image]
ASP.NET Provider Source Code Install Path
(Indexed 2007-11-06):
[Image]Some months ago, ScottGu announced the availability of source code for the ASP.NET providers. This was great news and a great many comments followed. In preparation for a talk I'm giving this week at DevConnections, I went out to grab the source again to be able to show it off during my talk. But no matter where I told it to install, nothing was installed. By default it wanted to go to C:Program FilesMicrosoftASP.NET Provider Toolkit SQL Samples However, nothing showed up there. Not...(truncated)...
VS2008 Shipping November 2007
(Indexed 2007-11-05):
It's official now - Microsoft has announced that it will ship Visual Studio 2008 and the .NET Framework 3.5 later his month, November 2007. The announcement came earlier today at TechEd Developers in Barcelona, Spain. I expect a similar announcement will be made this week during the keynotes for DevConnections. You can read the whole announcement here (although it's just a more longwinded and marketingish way of saying what I just said).Share this post: email it! | bookmark it! | digg it! |...(truncated)...
Unrecognized attribute 'securityTrimmingEnabled'. Note that attribute names are case-sensitive
(Indexed 2007-11-05):
Saw this error today working with the SiteMapDataSource in ASP.NET 3.5/VS2008. Apparently this is a bug that has been around for a while, and is discussed here and logged in Connect here. The issue, however, is that the securityTrimmingEnabled attribute pops up in Intellisense in VS2008 when editing the web.sitemap file. However, using it results in the error: Unrecognized attribute 'securityTrimmingEnabled'. Note that attribute names are case-sensitive. The bug is in the VS Intellisense - it ...(truncated)...
DevExpress TechSummit
(Indexed 2007-11-04):
I'm in Vegas a few days early (before DevConnections) to attend DevExpress's TechSummit2007, where they've invited a bunch of MVPs, authors, speakers, etc. to come and learn more about their controls and tools. Yesterday we saw some of what they're working toward in the WPF space, with some charts and grids that are not quite ready yet, but look like they will be pretty nice. I'm not doing much with WPF at the moment, since I'm mainly holding out for Silverlight 1.1 and whatever subset of WPF ...(truncated)...
Speaking in Ann Arbor November 14th
(Indexed 2007-11-02):
I'll be presenting to the Ann Arbor .Net Developer's Group in two weeks on ASP.NET Caching Best Practices. The meeting starts at 6pm at SRT Solutions in Ann Arbor. You can find more information about the group and meeting location here: AADND.orgShare this post: email it! | bookmark it! | digg it! | reddit! | kick it! | live it![Image][Image]
Check if Unique Constraint will be violated before Insert with LLBLGen
(Indexed 2007-10-30):
I needed to determine if a unique constraint would be violated so that I could programmatically update the Name of a business object to make it unique today. I use LLBLGen for this project's database layer, and I have a unique constraint (actually a unique index) set on the database. In this case it covers two columns, an integer ID and a string Name, but the nice thing about LLBLGen is that it provides helper methods that generate the predicate needed. The code required looked like this: pub...(truncated)...
Limit Rows In DataTable or DataSet
(Indexed 2007-10-30):
I wrote some quick and dirty ADO.NET code to go against an RSS feed instead of a flat XML file today. In the process I had to figure a way to limit the number of rows returned by the function, which returns a DataTable. The simplest method I found was this one, which uses the DataTable.Select() method. Using this technique, you could also pass in a sort parameter (second parameter to Select()) which would let you grab the top N rows from the DataTable after sorting it on whichever column you ...(truncated)...
Google PageRank Deductions
(Indexed 2007-10-29):
There's a great deal of discussion going on this month about recent deductions Google has made to Toolbar PageRank (not real PageRank) in October 2007. ASPAlliance.com, a well-respected developer site (IMHO) with a ton of content, was dropped from a TBPR of 7 earlier this month (which it's had forever) down to a 4 (ouch!). Apparently this is shared by Forbes.com - hardly nefarious black-hat sites here. Based on a variety of sources, the issue seems to be that the site has a few sponsored link...(truncated)...
VaryByCustom Caching By User
(Indexed 2007-10-29):
Ran into an interesting bug today with one of my applications. A user control that provides messages based on a user's account was showing the wrong information to other users in our testing. The user control was set up with an output cache directive and a VaryByParam="*" setting, yet it was showing other users' messages (one in particular) to basically everybody - not good. The funny thing was, it was only doing it on one server instance, not on localhost, despite its having the same code an...(truncated)...
One Week to DevConnections
(Indexed 2007-10-29):
[Image] The Fall 2007 DevConnections conference is next week in Las Vegas. This is definitely going to be the biggest conference in the United States for developers for the second half of 2007 (TechEd being the only larger one this year, I think), and I'm sure the show will be bolstered significantly due to a lack of a PDC event this year. This show has nearly sold out and already has nearly 5,000 registered attendees. Can't come? Be sure to follow along on the DevConnections Blog. I'll try t...(truncated)...
TFS Beta 2 VPCs Expire November First
(Indexed 2007-10-29):
In case you haven't seen this news from last Friday, the TFS Beta 2 Virtual PC images have an operating system timebomb in them that is set to expire on 1 November 2007. This is not, however, the end of the world if you have been using these builds for demo or test purposes, though if you've got them in anything close to a production mode you'll have problems. Jeff Beehler's follow-up post describes exactly what will happen when the date is reached/passed, and some workarounds for it. From th...(truncated)...
Render User Control as String Template
(Indexed 2007-10-19):
Scott Guthrie has a great example of how to use an ASP.NET user control as a template which one can dynamically bind to data and then pull the results out as a string. One place this is useful is in AJAX scenarios in which you want to replace the contents of a region of the page with the rendered output of a user control. I'm using this very successfully in Lake Quincy Media AdSignia for our dashboard pages, to enable me to load the page instantly and then dynamically fetch the individual char...(truncated)...
Sharing Resources Between Projects in .NET
(Indexed 2007-10-17):
ASP.NET has some great support for Resources (for localization and internationalization, mainly), but unfortunately by default they're limited to the same project because they're generated with the internal keyword. I wanted to be able to share common strings for things like Exception messages, format strings, and default messages between members of my business objects and within my ASP.NET application, without duplicating the resources between these two separate projects. I did some searching...(truncated)...
ASP.NET Model View Controller Architecture
(Indexed 2007-10-16):
A little while ago, Scotts Guthrie and Hanselman presented on MVC in ASP.NET (and Dynamic Languages) at the oddly named ALT.NET conference in Texas. I'm with ScottH that "Alt" is a pretty silly name and something like Agile or Pragmatic would be a much better descriptor. Alternative is not terribly descriptive since anything that differs from the norm is alternative, and not necessarily better. It reminds me of how all music sought to be "alternative" regardless of its actual style just to ea...(truncated)...
Caching Talk in Phoenix
(Indexed 2007-10-11):
Tuesday night I gave a presentation on caching in ASP.NET (with a bit of async performance tips thrown in at the end) to the Arizona .NET User Group in Phoenix, Arizona. A lot of the demos were similar to ones I've given before, including in my recent DNRTV Show on Caching. I've posted the samples from Tuesday night's talk here, which include the async demo I did as well as an updated version that uses a templating approach for loading up the user controls. I expect to have a full blown artic...(truncated)...
Open Source .NET in 3.5
(Indexed 2007-10-03):
ScottGu just made a very exciting announcement - as of Visual Studio 2008 and .NET 3.5, the base class libraries will ship with source and debug symbols! What this means to developers is we'll no longer need to resort to tools like Reflector to see what is going on under the covers when we use framework libraries. These libraries are being released under the Microsoft Reference License (MS-RL), and can be browsed locally as well as being used within the Visual Studio debugger. In addition to m...(truncated)...
Caching in ASP.NET Show on dnrTV
(Indexed 2007-10-01):
[Image]I'm on dnrTV this week with a show about Caching in ASP.NET, one of my favorite topics. I think the whole show is a bit under an hour and I go through a bunch of demos and show off some of the less-well-known features of caching, such as cache profiles, programmatic output cache invalidation, and the Substitution control that lets you have dynamic contents on a fully output-cached page. I also cover SQL Cache Invalidation and Micro Caching, the demo that helped win me Speaker Idol at Te...(truncated)...
Nice Products for Developers
(Indexed 2007-10-01):
[Image]We have a new intern starting with us at Lake Quincy Media today, and in the course of getting him set up, I thought I would mention of a few products we're using that work quite well for us here. The first one relates to training new interns with limited real world programming experience (Kent State University doesn't do us any favors here - no Microsoft technology, no SQL technology, and no web technology has been covered for most of their computer science graduates, much less students...(truncated)...
Case Sensitive or Insensitive SQL Query
(Indexed 2007-09-30):
Suppose you need to perform a SQL query and you need for it to be case sensitive or case insensitive, and [Image]either your database is set up the opposite way or you're smart and you're trying to write your query so that it will work regardless of how the database may or may not be configured. For instance, consider this query: SELECT UserId, emailFROM aspnet_membership WHERE email = 'billg@microsoft.com' If your database contains an email for Bill like this one: BillG@microsoft.com then whet...(truncated)...
Installing SQL 2005 Management Studio
(Indexed 2007-09-24):
I've installed SQL Server on a few dev boxes in my time, and one thing I've noted on several occasion is that even if you check the box during the install to say you want to install all of the client tools, usually they don't install. You think they installed, the setup dialog said it would install them, but when everything is said and done you don't see anything in the Start-Programs menu except a SQL Configuration option. What gives? So you install again, only this time the setup dialog tell...(truncated)...
Using PowerShell to Automate a SQL Task
(Indexed 2007-09-15):
I have a very large table in a SQL database that I need to clean up some old data on. I've already copied all of the data to another table in another database with a different schema. I have a legacy application that still uses the old data, but the data goes back for years, and now that it's in the new system, I'm willing to remove at least everything up until the new system started running alongside the old one. Deleting thousands of rows in SQL Server is an annoyingly difficult task on a di...(truncated)...
Consolas Font in Vista
(Indexed 2007-09-10):
I've recently been experimenting with other fonts for Visual Studio on Vista after reading this article on new fonts in Vista. I think I like Consolas better than Courier New for coding, if only for its novelty. It also tends to be a little bit more compact than Courier New at the same font size, which is nice to keep long lines from wrapping. Have a look at the difference, see what you think: Consolas Font, 10 pt: [Image] Courier New Font, 10 pt: [Image] As you can see, the Consolas Font...(truncated)...
Managing XSD Files - if you must have them
(Indexed 2007-09-05):
For an admin application I've been working on, we're using a third party reporting tool to serve up reports to our users over the Internet. The reports have a nice designer that works with XSD files in Visual Studio. Not particularly fond of XSDs as a means of data access, I thought I would limit the damage by having only one of them (and worse yet, the XSD file(s) have to be in the root of the website). Unfortunately, by the time we were up to our 5th or 6th report and we had about 10 DataTa...(truncated)...
FIX Request format is unrecognized for URL unexpectedly ending in
(Indexed 2007-09-04):
Adding a new web service to an application today so that I can delay loading some web user controls and ran into this 500 Error when calling the web service:Request format is unrecognized for URL unexpectedly ending in /GetHtmlFound this KB article with the fix:Add the following to web.config since GET and POST are disabled by default in ASP.NET 2.0 and greater: I'd forgotten this little detail...Share this post: email it! | bookmark it...(truncated)...
Reset Visual Studio Settings
(Indexed 2007-08-21):
If you're working with Visual Studio 2008 (Orcas) Beta builds, of which there are now two, you may have run into problems if you tried to install Beta 2 on the same machine on which you had installed Beta 1. While this is generally not advisable with any beta, I'm told it's working for a great many people. Nonetheless, one behavior you may see is that after installing Beta 2 certain portions of Visual Studio continue to reference the Beta 1 settings under Visual Studio Codename Orc...(truncated)...
FIX: LoginView Has No Child Controls
(Indexed 2007-08-07):
We ran into this issue today: A LoginView control that has always worked just fine was failing to have any contents on a PostBack. Stepping through it and checking things in the Immediate Window confirmed that it had a Controls.Count of 0. Looking at it in ASP.NET Trace also showed that, after a postback, it had no controls below it in the control tree. This was a problem since it contained a DropDownList and a TextBox that we needed to save the contents of in a click handler, but they were n...(truncated)...
Real World ASP.NET Performance Tuning Experience
(Indexed 2007-08-03):
I'm in the midst of wrapping up a multi-year long project to replace the advertising engine used to host sponsored ads on a few dozen .NET web sites. This system traces its "lineage" back to an old ASP application written in 2001 (it served its first 207 impressions on 31 March 2001), and has since been upgraded to ASP.NET 1.0 and 2.0 both as incremental ports, not full revisions (for instance, the database remained constant between these ports, and there was never any decent UI for managing th...(truncated)...
Accessing Session from an HttpHandler
(Indexed 2007-07-29):
I've run into this before but forgotten about it. I wrote an HttpHandler recently and was trying to access the Session object from the passed in HttpContext context object with context.Session["foo"] = "bar"; and I encountered a NullReferenceException. Some searching quickly yielded the answer, which is that in order to access Session from an HttpHandler you need to add a marker interface (meaning an interface with no implementation requirements) to your HttpHandler class. I had been lookin...(truncated)...
Visual Studio Orcas Beta 2 WCF svcutil.exe Error
(Indexed 2007-07-28):
If you run into trouble using svcutil.exe with the Beta 2 release of Visual Studio / .NET FX, try this: sn-exe -Vr svcutil.exe It wasn't signed in this drop (it will surely be at RTM). Alternately I've been told you can copy the svcutil.exe file from the previous beta.Share this post: email it! | bookmark it! | digg it! | reddit! | kick it! | live it![Image]
Visual Studio and .NET Orcas Beta 2 Available
(Indexed 2007-07-26):
Start your downloads.Share this post: email it! | bookmark it! | digg it! | reddit! | kick it! | live it![Image]
Fixed: CCNET + MSBUILD Logger Error
(Indexed 2007-07-22):
Ran into a snag this weekend with my build server - it started throwing errors related to the path to a folder, like this: .MSBUILD : error MSB4015: The build was aborted because the "MsBuildToCCNetLogger" logger failed unexpectedly during shutdown. System.ArgumentException: The path is not of a legal form. at System.IO.Path.NormalizePathFast(String path, Boolean fullCheck) at System.IO.Path.GetDirectoryName(String path) at Rodemeyer.MsBuildToCCNet.MsBuildToCCNetLogger.WriteErrorsOrW...(truncate...(truncated)...
Microsoft Health Common User Interface
(Indexed 2007-07-13):
I recently heard about a set of controls that is being made freely available via CodePlex with the goal of improving the usability and consistency of medical software applications. The Microsoft Health Common User Interface (CUI) includes a suite of rich controls and guidance for building user interfaces that follow a standard approach to user interface design. The CodePlex Project for MSCUI includes the controls library. The controls are freely available and open source, so they provide a gr...(truncated)...
Wait for ASP.NET AJAX Book Finally Over
(Indexed 2007-07-12):
The wait for Beginning ASP.NET 2.0 AJAX is finally over. The folks who camped outside of bookstores all night to be the first ones to own these beauties were [Image] rewarded today. Shortages were reported in some parts of the country as mobs of excited .NET developers made the iPhone launch seem like just another over-hyped gadget for sale.[Image] You can learn more about the book online here. Fortunately, as with the iPhone before it, supplies of this must-have technical bible have not r...(truncated)...
Team Project Creation Failed TF30225
(Indexed 2007-07-06):
[Image] So, I get this error now every time I try to create a new Team Project. I've checked my SQL Reporting Services configuration and it's all Green. I'm creating this project as an administrator. I've searched for help online, of course, but so far, nothing. I'll update this post when I find the answer - in the meantime if you know what kind of animal sacrifice is required, please comment.Update: Worked like a charm. Blog about it, and the answer will come. I found ...(truncated)...
Small Business Developer Center
(Indexed 2007-07-03):
Soma announces the Small Business Developer Center on MSDN. One point he makes about small business solutions is: Good enough is really good enough which sounds familiar. This new resource is "focused on providing practical, actionable platform guidance for developers working with small businesses." The sample application, WingTip Toys, sounds interesting to me. I'll have to play around with it and will post more once I have. Small Business Developer CenterShare this post: email it! | book...(truncated)...
Atlanta Silverlight Training
(Indexed 2007-06-29):
Shawn Wildermuth is teaching a class on Silverlight 1.0 and 1.1 in Atlanta through Dunn Training. The three day Silverlight Workshop is being offered July 16-18, August 13-15, and September 17-19. It looks like it will be a good class, based on the outline provided on the course web site.Share this post: email it! | bookmark it! | digg it! | reddit! | kick it! | live it![Image]
ASP.NET Scalability Panel Recording Available
(Indexed 2007-06-28):
I was honored to be asked to participate in a panel discussing ASP.NET Scalability at TechEd 2007 a couple of weeks ago. The panel was moderated by Richard Campbell and Carl Franklin of DotNetRocks, and included Stephen Forte, Kent Alstad, Rob Howard, and myself. The recording of that discussion is now available here: ASP.NET Scalability Panel - TechEd 2007Share this post: email it! | bookmark it! | digg it! | reddit! | kick it! | live it![Image]
Update Cache in Background Thread
(Indexed 2007-06-28):
Peter Bromberg recently wrote an article on refreshing the ASP.NET cache, which referenced my ASP.NET Caching Best Practices article on MSDN. In my original article, I lamented the general uselessness of the CacheItemRemovedCallback feature, and wished for a CachedItemExpiredButNotRemovedCallback. Sadly, this feature is still lacking despite the release of .NET 2.0 and 3.0 since my article was published in 2003. Peter's approach is a simple and effective one, and works well for a limited numbe...(truncated)...
Vista Network Connection Issue Solved
(Indexed 2007-06-28):
I've had Vista running since it came out last November. I've had a couple of Maxtor OneTouch II drives (network type) for the last couple of years, and I noticed immediately after installing Vista that I could no longer connect to them. I would be prompted for a login and entering in the credentials would fail every time. The same credentials worked fine from my Windows XP machines, but searching for "vista maxtor onetouch cannot connect" etc. yielded nothing. In a discussion recently on one ...(truncated)...
June 2007 Silverlight Resources
(Indexed 2007-06-25):
There's a nice little series of tutorials at NibblesTutorials that goes through some Silverlight basics (using Silverlight). I haven't had a chance to go through them all yet (naturally) but it definitely looks like good stuff. Also NetikaTech has announced a set of controls for Silverlight which include both free and pro versions. I haven't played with these yet either but it looks like a pretty good start considering that Silverlight has almost no "real" controls in it for business-class app...(truncated)...
Sort Generic List of T
(Indexed 2007-06-17):
Plenty of others have written about this so I'll keep it brief. I needed to sort some objects based on a string property. Some quick searching led me to this post which got me close to what I wanted. My final code was this:myThings.Sort(delegate(Thing x, Thing y) { return String.Compare(x.Name,y.Name); }); myThings is a List collection. String.Compare done in this fashion will sort them alphabetically - reverse its parameters to sort in reverse.Share this post: email it! | bookmark it! |...(truncated)...
Acropolis CTP Available
(Indexed 2007-06-15):
Acropolis CTP 1 is now available. From the source:The Microsoft code name “Acropolis” Community Technology Preview 1 is a set of components and tools that make it easier for developers to build and manage modular, business focused, client .NET applications. Acropolis is part of the “.NET Client Futures” wave of releases, our preview of upcoming technologies for Windows client development.Acropolis builds on the rich capabilities of Microsoft Windows and the .NET Framewor...(truncated)...
Silverlight 1.1 Setup
(Indexed 2007-06-13):
I’m working on getting Silverlight 1.1 working in a VPC. A good guide for this stuff is available on the Silverlight.Net site.First, I installed the Orcas Beta 1 VPC which I got from MSDN. Then I went and found the base image I needed after encountering an error the first time.Once this was up and running I installed:Silverlight 1.1 Alpha – Available HereSilverlight 1.1 SDK – Available Here (it’s just a ZIP not an install)Silverlight Tools Alpha for VS Orcas – Ava...(truncated)...
WPF for ASP.NET Developers
(Indexed 2007-06-13):
Brian Noyes gave a presentation to the Cleveland .NET SIG last night on WPF for ASP.NET Developers. I took some notes, which I’ll present a few of here in case they’re helpful to anyone else.WPFLogical Pixels, not physical pixels, each 1/96 of an inchVector Graphics basedContainersMany controls are containersSupport composition (images within buttons within buttons etc.)Declarative XAMLDocuments and Media are 1st class objectsVideo/AudioWord DOCs, PDF, etc.Supports Interop (both way...(truncated)...
Orcas VPC TimeBombedBase Missing
(Indexed 2007-06-13):
I downloaded the Orcas Visual Studio Beta 1 VPC from MSDN yesterday and stitched all of the zip files together, and launched it. Ran into the dreaded:“E:VPCTimeBombedBaseBase01.vhd” could not be found message. If you run into the same thing, you can find others with the same issue easily enough.The solution is to download the VSCTPBase.exe file from here. Extract the Base01.vhd file and then point to that as the base for your Orcas VPC. It’s working great for me now.Share t...(truncated)...
ASP.NET Workflow
(Indexed 2007-06-12):
Matt Winkler posted some very cool stuff regarding using Windows Workflow and ASP.NET on his blog a few days ago. I’m just getting around to commenting on it myself. Incidentally, there are live bits to install this time.Naturally I haven’t had a chance to play with this myself (or much of anything else that’s come out in the last few months), but I definitely am looking forward to being able to easily use Workflow within ASP.NET applications. Hopefully this is a step in tha...(truncated)...
TechEd Speaker Idol
(Indexed 2007-06-11):
TechEd 2007 included a Speaker Idol event hosted by DotNetRocks. The competition was modeled after American Idol, the American phenom show that basically is a rehash of that oh-so-great show, Star Search. The prize for the event was a guaranteed speaker slot at TechEd 2008, and the contestants were comprised of speakers who had submitted sessions for TechEd 2007 and were not chosen and four wildcard contestants who joined the fray at the show. I was one of the latter, having never spoken at T...(truncated)...
Silverlight Video and Camtasia
(Indexed 2007-06-07):
Some (OK, nearly ALL) of the Silverlight demos shown lately at TechEd and MIX involve hosting videos. The flexibility and customization options that are available to construct branded and unique video player controls with these tools is really quite amazing, considering how small the download is and the fact that they run on IE, FireFox and Safari/Mac. I predict (and this is happening regardless of Silverlight so it’s an easy one) that we will continue to see more and more video presenta...(truncated)...
Optimize ASP.NET HTTP Connection Limit
(Indexed 2007-05-30):
Mads has a nice post on optimizing ASP.NET to utilize more than its default of 2 concurrent web connections. Here’s the relevant config info: Share this post: email it! | bookmark it! | digg it! | reddit! | kick it! | live it![Image]
Outlook Data File PST Not Closed Properly
(Indexed 2007-05-14):
A common problem with Outlook is the infamous data file issue that pops up when you launch Outlook and says it must check the data file for constency because it was not shut down properly. In Outlook 2003 this is annoying because Outlook is unusable until the check completes, which can take a long time for large PST files. In Outlook 2007 this is a minor issue because the task occurs in the background and simply has a system tray bubble announcing its status. However, in both cases, the proce...(truncated)...
Microsoft Fans - Raise Your Hand
(Indexed 2007-05-14):
I have trouble, as a long time Microsoft developer community member and (dare I say) community leader, believing that someone could miss the fact that there are Microsoft communities and, by extension, community members and fans. I would definitely consider myself a fan of Microsoft’s products. I’m not lacking in criticism when there are things that are broken, mind you, but overall I’d definitely classify myself as a fan. And, of course, I know I’m not alone. I know ...(truncated)...
Moscow User Group Presentation - Caching Best Practices
(Indexed 2007-05-09):
In my last post I wrote that I would be speaking in Moscow this week - well, I did so Monday night and it went quite well I thought. I have uploaded the presentation and demo code from the presentation as promised - sorry it took a couple of days but I didn't get back online until I returned home to Ohio, USA. Thank you Gaidar Magdanurov for inviting me to speak and for getting me to and from my hotel for the event - thankfully the traffic was amazingly absent. For this event there were a...(truncated)...
Mr. Smith Goes to Moscow
(Indexed 2007-04-30):
I’ll be in Moscow next Monday, presenting to a .NET user group there. The topic will be .NET Caching Best Practices. The meeting place and time are as follows:Moscow dot NET Alliance (MDNA) GroupMicrosoft Russia, Building 1, 17 Krylatskaya Str., Moscow, Russia19.00 May 7, 2007Thanks to Gaidar Magdanurov, Microsoft DE for the area, for helping to set this up on relatively short notice. I hope there is a fair turnout and I also hope that my lack of Russian language skills will not be a ma...(truncated)...
Silverlight Resources
(Indexed 2007-04-24):
Here are some useful links related to Microsoft Silverlight:Microsoft Silverlight HomeSilverlight ForumsOfficial CommunityMSDN for Developers Share this post: email it! | bookmark it! | digg it! | reddit! | kick it! | live it![Image]
Old Team System News
(Indexed 2007-04-24):
This is all from last month, but I’ve been busy so it’s been in my queue. Sorry for the late “news”:Microsoft acquired TeamPlain, makers of TeamPlain Web Access for connecting to TFS via a browser. TeamPlain will be free to anybody with a TFS CAL. Full announcement.Patterns and practices announced the publication of prescriptive guidance for TFS/VSTS. JD Meier had the details.In related news, the VSTS team published 40 pages of strategies for branching and merging wit...(truncated)...
Speaking at Connection in Vegas in November
(Indexed 2007-04-24):
I found out that I should be speaking at the DevConnections show this fall. The show is being held in Las Vegas again, November 5–8th. I apologize to anybody that had hoped to see me present last month in Orlando at the spring show – I was unfortunately out of the country due to circumstances beyond my control (but which you’ll see more details on in a future blog post very soon).At the Fall 2007 show I’ll be presenting the following:Test Driven Development and Continuo...(truncated)...
Display Current Bin Folder Content Information
(Indexed 2007-04-10):
As part of my automated build and test process, I wanted to be able to confirm that my third party components were the proper version and, more importantly, that they were fully licensed. For some components, I can create a new instance of the control or component and test its IsLicensed property. For others, the assembly itself is different for evaluation versus professional versions, and another approach is required. In the first case, the code required to test if the control is licensed is...(truncated)...
Expression Added To MSDN
(Indexed 2007-04-03):
Initially it seemed that the Expression suite of products would not be included in the MSDN subscription, which caused a fair bit of uproar among developers who will be charged with working with designers and, often times, mocking up their own designs of WPF apps. Well, Microsoft took this feedback and acted on it, announcing today that some SKUs in the Expression line (but notably not the full-blown suite) will be available to developers via MSDN. Specifically, Expression Web and Expression B...(truncated)...
SimpleCMS Update Released
(Indexed 2007-03-22):
Today, Brendan updated SimpleCMS, the no-impact ASP.NET CMS add-on available for free from ASPAlliance.com. The new release uses the RTM builds of MS AJAX And the AJAX Control Toolkit.If you haven’t tried it, please do. Note that the big FAQ for the registration page is that you need to have a nonalphanumeric character in your password. Since someone asks me about this at least once a week, let me explain what that means: not a letter or a number. Generally this can be achieved by hit...(truncated)...
VS2005 Data Pro Dies on Compile Fix
(Indexed 2007-03-22):
I had an issue with VS2005 For DB Pros (the Data Dude SKU) where every time I would build my solution (or that project), VS2005 would simply die. This was on Vista. After looking for the answer, I contacted Gert Drapers who informed me of the fix — install the RTM of SQL 2005 SP2 (or just the XMO redist) and the problem’s solved.Thanks, Gert – I hope this helps some others who had a CTP of SP2 installed.Tags: vs2005, dbpro, data+dudeShare this post: email it! | bookmark it!...(truncated)...
Lake Quincy AdSignia Announced
(Indexed 2007-03-21):
Lake Quincy Media, which I co-own, has announced initial availability of its new online promotion management software, AdSignia. Lake Quincy Media specializes in the promotion of products and services of interest to our network of dozens of Microsoft developer community web sites. AdSignia has been something I’ve been working on for several years, and will replace the advertising software I wrote several years ago when ASP.NET 1.0 was new (which has been rock solid, but which never had m...(truncated)...
MS Money Vista Issues
(Indexed 2007-03-20):
This is a summary of some problems my wife experienced recently upon installing Microsoft Money 2007 on Windows Vista:Here is what I did: 1. Installed Vista2. Installed Money 2007 Deluxe3. Opened Money – it wanted to install a service pack. No prompting for restart of computer when installation was complete. No suggesting that there needed to be a restart.4. Opened the Money file from the backup on the desktop.5. Tried to download transactions from the bank...(truncated)...
ASP.NET Wish List
(Indexed 2007-03-14):
I’m at the MVP Summit this week in Seattle and one of the things this provides an opportunity for is providing feedback to the product teams. I certainly have plenty of ideas of my own for new features I’ve been longing to see in ASP.NET, as well as fixes for some annoyances. If you have ASP.NET feature requests of your own, please add them as comments. I’m going to make sure the ASP.NET team reads this post.My short list of ASP.NET feature requests follows:Recursive FindCon...(truncated)...
Columbus Ohio .NET Positions Available
(Indexed 2007-03-14):
Quick Solutions in Ohio is looking for a bunch of .NET developers with solid skills for the Columbus, Ohio office. Here’s the job posting: Work with experienced, knowledgeable professionals who are passionate about technology. Quick Solutions, Inc., a leader in the successful delivery of information technology solutions, is currently looking for exceptional Microsoft .NET development professionals. Qualifications: 1. Solid understanding of Object Oriented Programming 2. C# development e...(truncated)...
Use RedGate ANTS Profiler with Vista and ASP.NET
(Indexed 2007-03-02):
Found these two forum posts that show how, as well as how to wire up ANTS to Webdev.WebServer.exe (aka Cassini).Here’s the summary:Start ANTS Profiler Select either Profile memory or Profile performance Select .NET desktop application as the type of project Click the elipsis (...) to the right of .NET desktop application and browse to c:windowsmicrosoft.netFrameworkv2.0.50727 and select Webdev.WebServer.exe Let the working directory automatically update Fill in the arguments necessary to s...(truncated)...
Plasma v1.0 Release Available
(Indexed 2007-03-01):
Plasma is an ASP.NET in-memory web server emulator that can be used for ASP.NET unit testing or automation. Its initial codebase was written by Microsoft and its current incarnation is a community project licensed under the Microsoft Permissive License. I’ve been working on the project with several others and have just put the initial release out on the CodePlex project site. There are a lot of enhancements that have already been made that are not in this release, but I wanted to get th...(truncated)...
Spam Countermeasures
(Indexed 2007-02-27):
Spam is an increasingly annoying and expensive part of our lives as computer users. In the last week, I’ve been forced to take measures to deal with spam on several of my web properties. On RegExLib.com, an online library of regular expressions, it was brought to my attention that a large amount of comment spam was being added to expressions. After some analysis, I ended up cleaning out over 35,000 spam comments spanning the last 18 months or so. Among these were also a few cross-site ...(truncated)...
ObjectDataSource could not find a non-generic method Update Error
(Indexed 2007-02-17):
So I’m writing a quick demo for a book chapter, and I want to use something close to best practices, so I’m eschewing the SqlDataSource and favoring the ObjectDataSource. Because this is meant to be a quick example I don’t want to spend a lot of time helping the reader get the database set up, so I’m using the built-in ASPNETDB.MDF database that gets created in App_Data when you select the Web Site Configuration Wizard, and I’m going to edit the aspnet_Roles table ...(truncated)...
SQL Reporting Services 401 Error
(Indexed 2007-02-09):
If you just installed SQL Server Reporting Services and you are getting a 401.1 Unauthorized error when you try to go to the http://localhost/reports this post may help. I ran into this and was having a heck of a time figuring it out, since I assumed that since my Reporting Services Configuration Tool was all GREEN that I was good to go. Not so.In my searching I eventually found this post which led me to my old friend, a KB article I’d already found once a week ago when fighting with Rep...(truncated)...
Murach SQL Server 2005 For Developers
(Indexed 2007-02-06):
Recently I picked up a copy of Murach's SQL Server 2005 For Developers, and while I haven’t had a chance to really read it through cover to cover, I have read the first few chapters and skimmed the rest. It’s a meaty book, and is actually not a first edition as the name might imply but is a third revision book (with a new title) — meaning that there are no glaring holes in it that first-time efforts sometimes have.Ok, so it’s a book on SQL Server 2005, that’s o...(truncated)...
Reporting Services Plus Vista Equals Pain
(Indexed 2007-02-05):
I spent quite a few hours yesterday trying to get Reporting Services to work on my Vista laptop. It didn’t end up working. For quite a long time I got a login prompt when trying to go to localhost/reports, which would bomb after 3 tries and had references to several KB articles, including this one:http://support.microsoft.com/?id=907273None of the ones listed helped. I found plenty of others with similar problems. I made sure to install the December CTP of SQL Server 2005 SP2 but that ...(truncated)...
.netCHARGE Notes One Year Later
(Indexed 2007-01-29):
About a year ago, I was setting up a new site and wanted to be able to accept credit cards via an existing Authorize.Net account. One of my long-time partners and ASPAlliance.com sponsors is DotNetEcommerce, and one of their products is .netCHARGE. We picked up a copy of .netCharge and installed it into our site.Initially I had a small challenge because the server version of the control (which I used) expects to be installed in the GAC, and so is not configured for xcopy deployment. However, ...(truncated)...
Coding Optimization Tip: Avoid Repeated FindControl() Use
(Indexed 2007-01-27):
In a project I’m working on I have a recursive FindControl() which is quite useful for finding controls that are hiding inside of templates like LoginView or CreateUserWizard. I’m working with some junior developers and trying to instill best practices into them. This is an example of a code optimization technique I’m applying today to some code one of them wrote.Problem Code: if ((Common.FindControl(LoginView3, "NotesTextBox")) != null) { ...(truncated)...
CodeFile or CodeBehind
(Indexed 2007-01-24):
I just fixed a problem on a coworker’s machine that was quite odd in that the fix involved simply changing CodeFile to CodeBehind in a user control (.ascx) file. The issue was that in the ASPX page I was doing a FindControl within a Repeater’s ItemDataBound event, and casting the resulting control to the type of the codebehind of the user control. So for example if the user control was foo.ascx then in foo.ascx.cs I might have had a type Acme.Web.Foo. The Inherits= attribute in th...(truncated)...
Could not load file or assembly Microsoft.ReportViewer.WebForms
(Indexed 2007-01-24):
Ran into this error while deploying an application to production:Configuration Error Description: An error occurred during the processing of a configuration file required to service this request. Please review the specific error details below and modify your configuration file appropriately. Parser Error Message: Could not load file or assembly 'Microsoft.ReportViewer.WebForms, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. The system cannot find t...(truncated)...
Web Application Project Conversion Tips
(Indexed 2007-01-23):
I upgraded a major website (Visual Studio Web Site Project) to a Web Application Project on VS2005 SP1 today. I ran into three snags that are worth mentioning. Before I get to those, however, make sure if you’re going to do this conversion yourself that you follow these steps.1) After conversion, I was getting errors with all of my (formerly) App_Code files. They had been moved to Old_App_Code by the convert to web project tool, but they were not being built. I was able to cause compil...(truncated)...
ASP.NET AJAX 1.0 Released Today
(Indexed 2007-01-23):
Today, Microsoft released ASP.NET AJAX 1.0. You can download it, as well as the latest AJAX Control Toolkit and Futures January CTP, from http://ajax.asp.net/. Kudos to the ASP.NET team for making this happen! I know a lot of web applications have been waiting for this day to go live with their AJAX implementations, including several of my own projects which should be upgraded in the next day or two.The ASP.NET AJAX Control Toolkit includes the following new controls:AutoComplete: The much-re...(truncated)...
CodeMash Day One Thoughts
(Indexed 2007-01-19):
Well, to start, Josh Holmes has said he’ll shave his head if Technorati has indexed at least 500 codemash blog posts by the end of the show this evening. So, this will bring him 0.2% closer to that…I didn’t make it to CodeMash quite as early as I’d have liked, but I did have the opportunity to use the water park with my family for a little while, and then to meet up with Scott Guthrie and several others for dinner last night. One of the topics of conversation was about...(truncated)...
COPY One Table Row in SQL
(Indexed 2007-01-18):
I have a table with a bunch of columns in it that I wanted to be able to duplicate so that I could just change a couple of columns and not have to re-enter all of the columns and their values. I did some searching and the closest I came to what I wanted was this. So, working with Gregg on IM we came up with a more flexible solution that doesn’t require typing in the 20–some column names one might have (twice):ALTER PROCEDURE [dbo].[aa_widget_Copy] (@widget_id int)ASBEGINdeclare @co...(truncated)...
CCNET with MSBuild and AssemblyInfoTask
(Indexed 2007-01-17):
This afternoon I embarked on a quick (hah!) task to fix a problem with my CC.NET implementation. I’m using CC.NET running on my Team Foundation Server machine. It checks my TFS source control to see when anything in my project has changed, and if it has, it kicks off a build using an MSBuild task pointing at a solution (.sln) file which it grabs from source control. The problem I’m encountering is that one of the folders in this Workspace is a website. Not a Web Application Proj...(truncated)...
More DotNetNuke Installation Notes
(Indexed 2007-01-17):
Went with the 4.4 Source this time instead of the starter kit. Ran into an FAQ item regarding Name ‘Config’ is not declared but found the answer in this blog. Since I’m running this on Vista it had some issue with the app pool that was being used, but it offered me the following command line to fix the issue, which worked:c:windowssystem32inetsrvappcmd.EXE set app “Default Web Site/DotNetNuke_2” /applicationPool:“Classic .NET AppPool”So I was able to c...(truncated)...
DotNetNuke 4 Experience
(Indexed 2007-01-16):
I want to create a quick, simple club website for a club I’m in. It’s been on my TODO list for a couple of years now and tonight I thought I’d just grab the latest DNN starter kit, set a few properties, add/remove a few modules, and throw it out there. Here’s a recap of my experience thus far (quitting for tonight):1) Downloading DNN. There’s 5 different things you can download (after registering) and unfortunately no information at all on the download page as to...(truncated)...
History of ASP.NET AJAX
(Indexed 2007-01-16):
As we approach the long-awaited RTM (or RTW – Release to Web) of ASP.NET AJAX (formerly “Atlas”), here’s a brief history of the project:June 2005 – Development on what would become “Atlas” begins. Most of the ASP.NET team is focused on delivering ASP.NET 2.0 and VS 2005, however, so the initial team is pretty small.October 2005 – First Atlas Community Tech Preview (CTP) is released.November 2005 – VS2005 and ASP.NET 2.0 ship. More Microsoft...(truncated)...
Real World Application Performance Tuning Example
(Indexed 2007-01-15):
Many of you know that I’m very much into high performance and scalability techniques. One thing you need to remember when applying performance tweaks is that as your application changes, your performance optimizations may need to change and evolve with it. Let me demonstrate this with a case in point.On ASPAlliance.com, a fairly busy web site with about a thousand articles and tutorials on software development, each article displays its total views and its views in the last 10 days. Now...(truncated)...
Five Things
(Indexed 2007-01-14):
Craig tagged me so now I don’t feel left out. Oh, and Keyvan did, too, but I’m just finding it. Sorry about that!Here’s five things you may not know about me.1. Like Scott, I’ve never had a cavity (nor even fillings to prevent cavities). I was blessed with unusually strong teeth, though at the expense of not having a few. I only had 3 of my 4 wisdom teeth (woot! only had to get 3 pulled!) and I was missing permanent incisors on the bottom (doh! had to get implants!). ...(truncated)...
ASP.NET Hosting Recommendation
(Indexed 2007-01-05):
Recently I was asked if I could provide a reference for my hosting company, ORCS Web. After responding, I thought it would be worth spreading the love a little via my blog as well. So, now that I’m somewhat recovered from the holidays, here goes. The questions below were asked by a potential customer – the answers are mine and refer to my personal experience with ORCS Web.We are looking at moving our POP3 mailboxes/system over to ORCS and wanted to get your feedback. Below are a ...(truncated)...
VS2005 SP1 Update for Vista Beta Available
(Indexed 2007-01-05):
Visual Studio 2005 Service Pack 1 Update for Windows Vista BetaNow available, this update fixes a bunch of issues with VS2005 (with SP1) running on Windows Vista.Share this post: email it! | bookmark it! | digg it! | reddit! | kick it! | live it![Image]
What is a Microsoft Regional Director
(Indexed 2006-12-19):
Jonathan Goodyear wrote a column in asp.netPRO magazine this month on what being a Regional Director is all about. You can read it here:Demystifying the Microsoft Regional DirectorShare this post: email it! | bookmark it! | digg it! | reddit! | kick it! | live it![Image]
Microsoft Robotics Studio Released
(Indexed 2006-12-13):
Officially this morning, Robotics Studio was released. With Microsoft Robotics Studio, robotic applications can be developed using Microsoft Visual Studio, Microsoft Visual Studio Express C# and VB as well as Microsoft IronPython. Read the Press Release and the PressPass Q&A with Tandy Trower. Feature Highlight Supported HardwareThis is just a sample list of some of the supported robots from Robotic Studio: Lego Mindstorm RCX Lego Mindstorm NXT iRobot Roomba P...(truncated)...
Animated Musical Light Show Project
(Indexed 2006-12-11):
Brian Peek of ASPSOFT has an article showing how to create an animated light show to your favorite holiday music on MSDN. It includes a video which you should really check out, and instructions for creating your own with all the hardware and software notes you’ll need. Very cool.Share this post: email it! | bookmark it! | digg it! | reddit! | kick it! | live it![Image]
C# 3.0 Feature Notes
(Indexed 2006-12-06):
Anders Heljsberg has been giving us an overview of new C# 3.0 features this morning. I’ve made a few notes. Most of this info is available elsewhere, and I’m not re-typing the code from his demos, but there might be some useful tidbits here for some folks.First by way of background, Anders noted the evolution of C# and the key feature that defined each version:C# 1.0 – Managed CodeC# 2.0 – GenericsC# 3.0 – Language Integrated Query (LINQ)Some C# 3.0 Design Goals (...(truncated)...
ASPInsiders Public Notes - Scott Guthrie
(Indexed 2006-12-05):
VS 2005 SP1 coming soon (end of year, hopefully). Will include:2200+ bug fixesBuilt-in Web Application Project supportGDRs are public fixes (patch rollups) that include rollups of QFEs – GDRs are similar to service packs but service packs affect support (Microsoft supports the latest service pack and the previous service pack, but not further back). So – GDRs are good because they provide public fixes without eliminating support for any prior versions.The service pack 1 beta is not...(truncated)...
Seattle Bound and Zune First Thoughts
(Indexed 2006-12-04):
I’ll be in Redmond this week for a Microsoft meeting. I expect there will be some cool new things, some of which I’ll be able to discuss, and much socializing with my ASPInsider buddies. I’ve been slacking on the blogging front lately. I taught an ASP.NET class last week in Columbus, OH, which went pretty well despite having been set up to use course materials from pre-release of ASP.NET 2.0 (not by my choice).In other news, I recently received a Zune as a gift, and I’...(truncated)...
Vista, DotNet3 Available
(Indexed 2006-11-16):
Just announced:Today Microsoft achieved another significant Vista milestone: the 32-bit and 64-bit versions of Windows Vista Business and Enterprise Editions are now available to business and enterprise customers in English. This is exactly one week after the signing off on the RTM bits. The German and Japanese versions of Vista will go out tomorrow, followed by French and Spanish on Friday. Also, expect a Friday release of Windows Vista Ultimate in English to MSDN. All 5 languages will be av...(truncated)...
AssemblyBinding in Web Config and XMLNS
(Indexed 2006-11-16):
Ran into this (again, I think) today while setting up some assembly binding between Telerik and PeterBlum controls in my LakeQuincy web site. The short version is that the presence of an xmlns= in your node of web.config will prevent ASP.NET 2.0 from reading any assemblyBinding tag. So if you have something like this:You will want to replace it with this:Then your tags in your element (like the one shown below) should magically work ok:Otherwise you may encounter something like this error:C...(truncated)...
Vista on MSDN
(Indexed 2006-11-16):
Windows Vista Ultimate is now available on MSDN Subscriber Downloads. Nuff said.Share this post: email it! | bookmark it! | digg it! | reddit! | kick it! | live it![Image]
WebDevHelper Now Has Atlas Support
(Indexed 2006-11-14):
Nikhil has updated his WebDevHelper utility to include direct support for Atlas. His original WebDevHelper is a nice plug-in for the browser that provides a lot of similar functionality to the FireFox development toolbar combined with the Fiddler utility. His new update includes some nice parsing features that make it much easier to see what is being passed on the wire for MSAJAX UpdatePanels and similar controls. Check it out.Share this post: email it! | bookmark it! | digg it! | reddit! ...(truncated)...
Speaking in Arizona in March 2007
(Indexed 2006-11-13):
I’ll be speaking at the Arizona .NET user group on 7 March 2007 about Caching and Performance. More information here. The session’s description is:This session focuses on fundamentals of performance and scalability design, testing, and optimization, with an emphasis on distributed architectures and data driven applications. The special case of caching will be given extra attention, and a number of best practices and techniques related to caching in .NET and ASP.NET will be demonst...(truncated)...
DevConnections Fall 2006 Summary
(Indexed 2006-11-10):
Got back home last night from DevConnections in Las Vegas. It was a very good show this year in terms of content, products being launched, and numbers of attendees and exhibitors. I think I had more people in my sessions than usual, too, and they all went well (i.e. the demos worked, nobody threw tomatoes at me).The keynote on Monday night suffered a bit from some audio issues and in general wasn’t as tremendously exciting as I thought it should have been given that ASP.NET AJAX Beta 2 w...(truncated)...
DevConnections Keynotes
(Indexed 2006-11-07):
Scott Guthrie's keynote this morning covered a few ASP.NET AJAX features. It was impressive to see how quickly he was able to move around during his demo and literally create the sample applications from scratch. He also showed some screenshots of the upcoming Expresion Suite, which looks sweet (pun intended) and, more importantly, will have a large amount of its functionality included in Visual Studio (split-screen design/source mode, CSS refactoring, javascript intellisense and syntax checki...(truncated)...
SqlDependency Issue Resolved
(Indexed 2006-11-06):
I’m doublechecking my demos for my sessions at DevConnections this week and I think I finally fixed an issue that has plagued me off and on for the last year or more when I’ve been demonstrating the new SQL 2005 SqlDependency features. It seems like almost half the time, the notifications don’t work when it’s time for me to give the demo, though they work fine when I test them prior to the user group meeting or conference where I am presenting. The last time this happen...(truncated)...
Excel Pivot Chart from Reporting Services Video
(Indexed 2006-11-02):
Last week I wrote about some fun I was having with Pivot Tables and Pivot Charts in Excel. Well, yesterday I got around to recording a screencast video of how to create Pivot Chart reports using Reporting Services, Excel, and SoftArtisans Officewriter. You can view it here:Using Reporting Services to Create Excel Pivot Chart Reports with OfficeWriterCheck out our list of .NET videos, too — we’re up to a couple dozen now.Share this post: email it! | bookmark it! | digg it! | redd...(truncated)...
Excel, Pivot Tables, and OfficeWriter
(Indexed 2006-10-27):
I’ve been playing around with trying to analyze some performance data that spans numerous periods over time as well as multiple channels. Using SQL I’m able to get some results that look something like this:Channel | Period | ActivityA | 1/2006 | 1342B | 1/2006 | 3433A | 2/2006 | 1543B | 2/2006 | 3785However, going from this to a chart or something useful is not terribly easy. SQL 2005 has a Pivot function, and I have a similar function for SQL 2000 that Gregg gave me, but really t...(truncated)...
SimpleCMS Updated For Microsoft AJAX Beta
(Indexed 2006-10-20):
ASPAlliance.com just published a new version of SimpleCMS which now uses the current Beta of Microsoft ASP.NET AJAX. Download it, check it out, and report any bugs you may find in the forum. Kudos to Brendan for getting this ready so quickly.[Image]
Modify Contents of SortedDictionary or Dictionary in foreach
(Indexed 2006-10-20):
So I’m working with a Dictionary (and later a SortedDictionary) today and I want a simple list of URLs and their HTTP status codes, so I create the dictionary as Dictionary urlStatuses. Then I write some code that looks like this:foreach(string url in urlStatuses){ urlStatuses[url] = GetStatus(url);}Of course this doesn’t work, because you cannot modify a dictionary within a foreach. From the docs:The foreach statement of the C# language (for each in C++, For Each Visual Basic)...(truncated)...
MVPs and Losing or Keeping One's MVPness
(Indexed 2006-10-13):
Frans Bouma weighed in on the recent discussion revolving around several prominent .NET developer types who did not receive MS MVP awards for this year (awards were given October 1st). If the Microsoft MVP program, or this recent discussion, interests you, you should really read Frans' post. I couldn't have said it better myself. [Image]
SQL Reporting Services Tutorial Video Published
(Indexed 2006-10-10):
Last week I recorded a quick (< 10 min) video showing how to use SQL Server Reporting Services to create reports. Since learning SSRS was something that was on my TODO list for a long time, but I held off because I didn’t know where to start, I figured a short walkthrough like this one would help others who hadn’t taken the Reporting Services plunge because they needed a little hand holding.I apologize in advance for some of the audio quality – the microphone used was less tha...(truncated)...
No More DLL Hell - the song
(Indexed 2006-10-06):
Dan Wahlin, an ASP.NET and XML guru and friend of min, just released a song called No More DLL Hell which you can download as an MP3 and listen to. If you’ve had any experience in the COM world, you’ll appreciate this song. You’ll find the lyrics and download here.[Image]
Tip: Share User Controls Between Applications in ASP.NET
(Indexed 2006-10-05):
This recently came up on an email list I’m on. There basically three ways to share user controls in ASP.NET (1.x or 2.0). Note that since Master Pages are User Controls, these techniques apply to them as well (and, in case you were unaware, you can’t share user controls or master pages between appdomains by default).Workaround 1: XCOPYBasically, copy the .ascx and/or .master files to whatever apps you want to use them. This isn’t really sharing, but it gets the job done.Work...(truncated)...
Debuggin Failed Because Authentication is not enabled
(Indexed 2006-10-04):
I ran into this prompt while trying to launch debugging in VS 2005 using IIS. I quickly found this MSDN online article to solve the problem. Posting here to help anybody else find it quickly. Basically, go into IIS and turn on Windows Authentication under Directory Security. Here’s detailed steps:To enable integrated Windows authentication Log onto the Web server using an administrator account. From the Start menu, open the Administrative Tools Control Panel. In the Administrative Tool...(truncated)...
CSharp C# Feeds Help Wanted
(Indexed 2006-10-02):
CSharpFeeds is a simple community site dedicated to keeping up with the latest goings-on in the C# world, while eliminating the noise and personal/social posts from the various C# blogs out there. This task involves individually touching each post to approve or reject it as on-topic, and while this is not a terribly arduous process, we could use some help. If you are a C# guru and would like to devote a few minutes (literally, like maybe 5–10 minutes) a day (or even a week) to helping ou...(truncated)...
ComponentArt Atlas Controls
(Indexed 2006-09-29):
ComponentArt just released a version of their Web.UI suite, which is built for ASP.NET AJAX (aka “Atlas”). Web.UI 2006.2 for ASP.NET AJAX is “the most advanced AJAX framework available. ComponentArt Web.UI for ASP.NET AJAX is the first commercial control suite designed to fully utilize this new framework.”I haven’t had a chance to do more than view the demos but they look pretty slick. The line between thin and thick clients is really blurring quite a bit now tha...(truncated)...
Atlas Contest Winners Announced
(Indexed 2006-09-28):
Microsoft’s Mash It Up With Atlas contest has ended, and the grand prize winner was DotNetSlackers and Alessandro Gallo (aka Garbin). Congratulations!See all the winners here:http://atlas.asp.net/default.aspx?tabid=47&subtabid=475[Image]
Source Control Structure
(Indexed 2006-09-25):
How do you like to set up your source control for a project? My personal preference is sort of a work in progress, and I do not have a great deal of experience with branching and versioning, so my design doesn’t take this into account, but I would like to hear what approaches work well for others. Here is a very simple example:$/$/Project$/Project/Libraries/$/Project/References/...(truncated)... I’ll include other folders for services, windows applications, etc. Sometimes I’...(truncated)...
Conditional Attribute and TRACE in ASP.NET 2.0
(Indexed 2006-09-16):
In ASP.NET 1.x I had created some helper classes that wrapped the ASP.NET Trace class. These included methods like this one: [Conditional("TRACE")]public static void Write(string category, string message, Exception myException){context = HttpContext.Current; if (context != null)context.Trace.Write(category, message, myException);} In VS2003, I would simply mark my project as having the TRACE conditional compilation flag, and this would work fine. In production, I could turn it on or off as ...(truncated)...
Strange Issue with HttpContext.Current with WebDevServer
(Indexed 2006-09-16):
I’m working with a Trace class that I wrote back in .NET 1.1 that wraps System.Diagnostics and System.Web tracing. The class looks like this:public static class Trace{private static HttpContext context = null;static Trace(){context = HttpContext.Current;}This worked fine in 1.x, but testing it with Cassini / Test Web Server I was seeing unusual behavior. The first load of a page, the trace statements would work just fine (using ASP.NET tracing), but on subsequent loads, no trace output w...(truncated)...
Ultimate ASP.NET Base Page Class
(Indexed 2006-09-15):
I'm working on a base page for a new application and it seems like this is about the 5th or 6th time I'm building one of these things, so it's getting a bit repetitive. In this case, it's for an ASP.NET 2.0 app, but I have base pages in use in 1.x apps as well, where they are arguably more useful (or at least, lacking built-in master page support, they are more necessary). I'd like to know what app-agnostic features folks are including in the BasePage classes so that I can ...(truncated)...
Microsoft Shrugs Off Atlas Name
(Indexed 2006-09-11):
Scott Guthrie today announced that the "Atlas" code name for the ASP.NET team's rich client framework and set of server controls and JavaScript extensions will be retired and replaced with not one, but three separate names:As part of releasing “Atlas”, we have also finally locked on an official set of product names that we will begin using moving forward. What was formerly called “Atlas” will now have a few names: 1) The client-side “Atlas” javascript libr...(truncated)...
Upgrading TFS from RC to Workgroup Edition
(Indexed 2006-09-06):
Today I came into work and my build/source control server, which I thought I remembered installing the RTM of TFS Workgroup Edition, was complaining that my license had expired. When this happens, the error message looks something like this:"TF30072: The Team Foundation Server trial period has expired or its license is otherwise invalid. Install a licensed edition of Team Foundation Server to continue."I started looking for information, mostly on Rob Caron’s blog, and quickly found a post...(truncated)...
Caching in O/R Mappers and Data Layers
(Indexed 2006-09-01):
Frans Bouma, creator of LLBLGen, MVP, and all around very smart guy, wrote yesterday about the ‘myth’ that caching inside an Object-Relational (O/R) mapper makes queries run faster or makes the O/R mapper more efficient. I think he’s missing a few key usage scenarios (and, what’s more, I think he generally has a dislike of caching for whatever reason, which may bias his opinion), which I’d like to examine here.First, let me look at his definition of a cache, since ...(truncated)...
Unrecognized tag prefix or device filter 'asp'
(Indexed 2006-08-29):
This error was bugging me today so I finally went searching for an answer. I found it here.The short version – if you’re using nested master pages and you’re seeing all of your tags underlined and complaining with “Unrecognized tag prefix or device filter ‘asp’.” the solution is to keep your nested master page open in Visual Studio. That’s right – it sounds stupid – but that’s the fix.So, if you have a Page that references a ma...(truncated)...
Free .NET CMS Plugin ASPAlliance.SimpleCMS Launched
(Indexed 2006-08-28):
Last week SimpleCMS was released as a beta. Please download it and give it a try in your ASP.NET 2.0 application, and post your feedback in the forum.Some background posts:http://aspadvice.com/blogs/ssmith/archive/2006/08/21/H...(truncated)... creation and editing of virtual pages via a web interfaceSeveral ATLAS features includedSEO optimized – allows any URL name, title, keyword, description tagsMaster Page SupportTheme SupportRich Editor (FreeTextBox)Plug-In architecture – no cod...(truncated)...
Add Profile Items in CreateUserWizard and Recursive FindControl
(Indexed 2006-08-24):
There's an example in Professional ASP.NET 2.0 that shows how to add a few profile items to a CreateUserWizard. Unfortunately, it doesn't work in certain cases, specifically when the profile item in question is set to allowAnonymous="false". When that happens, you will receive this error:"This property cannot be set for anonymous users."One fix is to simply set the allowAnonymous flag to true, but if it's not something you want anonymous users to be able to set, that's not idea...(truncated)...
Community Server Upgrade
(Indexed 2006-08-22):
Yesterday we upgraded AspAdvice (and the other Advice Sites) to Community Server 2.1. If you find any bugs or things that don't look right, please contact me and let me know and we'll work on getting them fixed. One of the biggest changes from 2.0 to 2.1 is the implementation of tags rather than categories, and the tag clouds that you'll now see in several places on blogs and blog listings on the site.In addition, since as part of the upgrade our old CAPTCHA control went by the way...(truncated)...
HttpModule Breaks Sub-Applications Problem Solved
(Indexed 2006-08-21):
Recently I've been working on a number of HttpModule-based plug-in tools for ASP.NET applications, such as the ASPAlliance CacheManager. The idea being that these kinds of tools can provide added functionality to existing applications without the need for the application to be changed, recompiled, or migrated to some new architecture (as is required with heavier application frameworks like DNN, CS, etc.). However, one issue with this approach is that, once the HttpModule reference is added to ...(truncated)...
ASP.NET 2.0 MVP Hacks and Tips
(Indexed 2006-08-18):
I got a copy of WROX's ASP.NET 2.0 MVP Hacks and Tips yesterday and skimmed the TOC and read a few chapters. I have to say that this is a very good book from my first impression of it, based on the fact that I learned a few new techniques in just the brief amount of time I've spent on it so far. Since I haven't read the whole thing yet, I can't write up a good formal review, but let me give you the quick notes I took away from it already:In 2.0 configuration you can specify external files for ...(truncated)...
Atlas Naming Game
(Indexed 2006-08-16):
Ok, Microsoft "Atlas" is now less than six months away, assuming it ships on schedule or with minimal slippage. That means it's now time to play... Name That Microsoft Product!I'll be your host, and will get the ball rolling. Note that some of these potential names are serious, and some are less so, but by all means, vote for your favorite by posting in the comments. Also, some of these I'm listing are my own ideas, and some I'm borrowing from others, but I'm protecting their identities unles...(truncated)...
ASP.NET Atlas July CTP Now Available
(Indexed 2006-08-01):
You can now download theJuly Community Tech Preview of Atlas here. Some Details:UpdatePanel and ScriptManager:ScriptManager.RegisterControl() takes optional parameter to specify client type to create. Fix for UpdatePanels in Firefox. Drag and Drop:Added public dragStart/dragEnd events to DragDropManager. dragStart fires with dragMode, dataType, and data as eventArgs. dragStop fires with empty eventArgs. style.position of dragVisuals will no longer default to "absolute". DragDropManager do longe...(truncated)...
Lake Quincy Media Site Facelift
(Indexed 2006-08-01):
Lake Quincy Media, the advertising network made up exclusively of .NET developer community web sites, has been undergoing a substantial redesign throughout the month of July. Well, after a lot of work, the new design was launched yesterday. The new design is, I think, much more professional and attractive than the one I managed to put together earlier this year, which is a credit to the design skills of our full time creative director, Craig. Have a look and let us know what you think, and if...(truncated)...
C# Feeds and News
(Indexed 2006-07-31):
Today CSharpFeeds officially goes live. This is a pet project of mine and Gregg Starks based on Serges VBFeeds.com site and its source code (thanks to Serge for letting me see the source!). VBFeeds is a great place to find just VB information from the top VB people, moderated so that it doesnt include posts about going on vacation or other personal posts. C# Feeds seeks to do the exact same thing, but for C# content, rather than VB. If theres a C# feed we should be pulling that we dont have,...(truncated)...
Atlas Plugged - Columbus User Group
(Indexed 2006-07-28):
I gave a presentation on Atlas to the Central Ohio .NET User Group last night. About 50 people were in attendance and I thought the presentation went pretty well, especially considering it was my first time presention on this subject. I’ve posted my slides and samples on the ASPAlliance Resource Directory – the direct link isAtlas Plugged – July 2006After the presentation I went out with about a dozen of the developers who attended the presentation to the Columbus User Group ...(truncated)...
Atlas DragOverlayExtender Controls Return To Original Position
(Indexed 2006-07-27):
While using the DragOverlay in a demo I ran into a problem where the controls I wanted to drag around the page kept on returning to their original position when I released my mouse button. A quick internet search found me Rob Garrett’s post, which describes this issue and the fix:Basically, you can’t drag items beyond the rendered area of the HTML page. For a demo, there’s not a lot of HTML on the page, so the rendered area is quite small (and basically consists of where the ...(truncated)...
Run Cassini as Root Web within Visual Studio
(Indexed 2006-07-26):
Ive been fighting with differences in folder paths between production and dev (via Cassini / WebDevServer) for a while now and stumbled upon this forum topic today and gave it a shot. The forum didnt provide full details but heres what I managed to figure out. Yes, Cassini supports root pathed sites, but its not how Visual Studio (or, presently, Expression Web Designer) are configured to use it by default. If you want to make it work, you can, using these steps:1. In your Solution Explorer, r...(truncated)...
Speaking in Columbus Tomorrow
(Indexed 2006-07-26):
I’m giving a presentation on Atlas tomorrow (Thursday July 27th) in Columbus, Ohio. Stop by if you’re interested. Here’s more information about the time/place/details.http://www.condg.org/[Image]
Working with Html in XmlDataSource XML Data Source Files
(Indexed 2006-07-25):
Today I was working with some XmlDataSource controls to populate some Repeaters and other databound controls and ran into a problem – the XmlDataSource doesn’t show any tags that are found within the XML. For instance, if I have this XML file: Widgets R Us Acme Inc.The XmlDataSource would not show the tag, only the text. I did a bit of searching and didn’t find an easy way to get this to work out of the box, so I ended up using syntax like this:Where ParseLogo() might loo...(truncated)...
Adding Master Page Support to Dynamically Created Pages
(Indexed 2006-07-21):
Yesterday I wrote about AspAlliance.SimpleCms, which is coming along still today. One hurdle Brendan and I were facing was how to allow a dynamically created (from a PageHandlerFactory) page to specify a master page. The idea is that the page, which resides in a separate assembly from the main web application, will use a master page specified within web.config and residing in the main web application. Let me walk through our steps…First, you would think you could just set the Page&rsqu...(truncated)...
Book Review - Murach C# 2005
(Indexed 2006-07-20):
[Image] Murach’s C# 2005 is one of many books I’ve picked up since .NET 2.0/VS2005 went gold last November. I have to say, I really love the layout of Murach’s line of books. The book would make an ideal textbook for a training class, but outside of a training environment it is still a great learning tool. In addition to great technical material, each chapter also includes practice exercises. Joe Stagner recently blogged about the book, too, saying: But UNLIKE a lot of text...(truncated)...
Live From Redmond ASP.NET Webcasts
(Indexed 2006-07-20):
Heres a list of a bunch of webcasts that are coming up in the next few months (starting next week), related to ASP.NET: DateTitleSpeakerRegistration URL25-JulASP.NET: An Overview of ASP.NET and Windows Workflow Foundation IntegrationKashif AlamClick here3-AugASP.NET: Building Real-World Web Application UI with Master Pages, Themes and Site NavigationPete LePageClick here10-AugASP.NET: Creating Web Applications Using Visual Studio 2005 Team SystemJeff KingClick here17-AugASP.NET Atlas: A Develope...(truncated)...
AspAlliance Simple CMS Plugin
(Indexed 2006-07-19):
I’ve been interested in plug-in applications for ASP.NET for a while now. I think it can be a very powerful way to quickly add new functionality to an existing site without significant rework of the site being extended. The architecture that makes this possible is the HttpHandler and HttpModule combination that, in fact, is what makes ASP.NET work in the first place. One simple example of such an application, which is built into ASP.NET, is the application trace viewer, commonly known a...(truncated)...
New Caching Video
(Indexed 2006-07-17):
I recored a quick video demonstrating the effects of a very short duration cache on a page that’s hitting the database more than 1/second (microcaching). This is one of my favorite demos when I give my caching presentations – I believe I first saw Rob Howard do pretty much the same demo quite a few years ago so credit goes to him for the idea. You’ll find the video in the ASPAlliance Videos section, here.It was my first Camtasia video in years and I’m using a pretty che...(truncated)...
Best Web Hosting
(Indexed 2006-07-14):
I just filled out a customer satisfaction survey for my hosting provider, ORCSWeb, which makes me think I should probably write a little something here in my blog about how much I like them. I’ve been using ORCSWeb’s services for what seems like forever, but off the top of my head I’d have to say at least since 2000. Before switching to them, I had used a couple of other hosting providers, all of which have since been bought up or gone out of business, as far as I know. Howe...(truncated)...
Starter Kits and Samples for SQLExpress and .NET 2.0
(Indexed 2006-07-13):
If you haven’t seen them already, there are a bunch of sample applications available for SQL 2005 from Microsoft. These include:Internet Explorer Favorites ManagerSkills ManagerSurvey ManagerHelp DeskWeb ReportsWindows ReportsIn addition, there are also a number of Starter Kit apps available. I’m not sure what makes one thing a “Starter Kit” and another a “Sample” (the web sites state that “Starter Kits are fully functional applications designed to hel...(truncated)...
Presenting to Cleveland .NET SIG Tuesday Night
(Indexed 2006-07-10):
I’ll be speaking to the Cleveland .NET SIG tomorrow night about .NET Caching Best Practices, my current (and somewhat longstanding) favorite topic. If you’re in the area, stop by and say hello. The details:Next Meeting:.NET Caching Best Practices Presented by Steve Smith - FounderASPAllianceJuly 11th, 2006 5:45pm - 7:30pm Location:Microsoft Corporation6050 Oak Tree Blvd.Independence, Ohio 44131RSVP here so they have enough food and such if you’re planning to attend.I’m...(truncated)...
Team Foundation Source Control Tips
(Indexed 2006-07-05):
Barry Gervin recently wrote some nice tips for working with source control and Team System on a mailing list:The best guidance is to do a Get on the entire tree just before you begin a new logic of work. Work on it for however long it takes - and then when you are ready to check it in - do another get latest first and make sure you can still build/run tests. This is an important step to properly integrate/merge your changes into the latest (and avoid breaking the build). When you are finally rea...(truncated)...
Atlas June CTP Available
(Indexed 2006-07-03):
If you’ve been using Atlas, or if you’ve been waiting for a more stable version of Atlas, the latest Community Tech Preview release is now available. Download the June CTP here.[Image]
BoundField DataFormatString attribute not working
(Indexed 2006-07-03):
I was stuck with a problem a few weeks ago where my DataFormatString on a BoundField in an GridView was not being applied. I had a chance to look at the code again today and found this very helpful post by Raj Kaimal with the fix this morning. The short answer is that you need to set HtmlEncode=”false” in order for the DataFormatString to work. The HtmlEncoding by default is designed to defeat cross site scripting attacks, but unfortunately the way it is implemented results in Dat...(truncated)...
ASP.NET Sandbox Projects
(Indexed 2006-06-28):
Ambrose posted about the ASP.NET Sandbox yesterday (which I saw in my daily DotNetSlackers new email), which prompted me to have another look at it. Read Ambrose’s post first – he gives a nice overview of what’s there.The list includes some projects that have had big press, like Web Application Projects and Web Deployment Projects, but there are also some less-well-known projects in the works including BLINQ, which ScottGu demo’d at TechEd, and a nice Table Profile Provi...(truncated)...
TechSmith at TechEd
(Indexed 2006-06-28):
I love TechSmith - they have some extremely cool tools including my favorite, Camtasia, which is the de facto standard for creating screencasts and coding/presentation videos (like the Atlas videos now on ASPAlliance.com). I finally got a chance to meet up with TechSmith Chief Evangelist Betsy Weber, whom I’ve worked with via email for years, and she posted a picture of us on Flickr:[Image] Incidentally, Betsy and TechSmith are great when it comes to community support. If you’re a ...(truncated)...
Caching Birds of a Feather
(Indexed 2006-06-16):
I hosted a Caching Best Practices Birds of a Feather today at Tech Ed. The attendance was not quite as great as I’d hoped but wasn’t terrible - about 15–20 people came. Overall I think it went reasonably well, with a number of people having questions and plenty of others with good experience to share. I talked about some of my favorite caching tips, tricks, and less-well-known ASP.NET caching features, and I hope everyone who came got some value from the session. Given the ...(truncated)...
Atlas, IIS7, and BLINQ
(Indexed 2006-06-16):
Scott Guthrie presented on Atlas and BLINQ this afternoon at TechEd. The latest Atlas bits seem to be coming along very nicely, allowing standard ASP.NET controls to be decorated with functionality without the need to replace or modify the original controls. One nice concequence of this “add on” nature of the tool is that it can be used to correct deficiencies that were present when ASP.NET 2.0 shipped. For instance, drag-and-drop of SharePoint Web Parts for FireFox did not make i...(truncated)...
Tech Ed 2006 Summary
(Indexed 2006-06-16):
I haven’t posted in a bit, so let me summarize what I’ve been doing the last few days, apart from going to various parties and staying out late.Monday I went to several Regional Director connect meetings with various Microsoft teams – didn’t make it to any sessions. I spent about an hour with SoftArtisans learning about how their OfficeWriter product integrates with Microsoft SQL Reporting Services, which has really got me excited about he potential of that product (both...(truncated)...
New Video: Using the ATLAS Confirm Button
(Indexed 2006-06-13):
Mohammad Azam has a new video up on AspAlliance.com Videos on Using the ATLAS Confirm Button. Check it out.[Image]
Keynote Notes For Developers
(Indexed 2006-06-12):
In the latter half of the keynote there was one small piece for developers, showing off Expression Interactive Designer (which integrates nicely with ASP.NET and VS.NET) and the new Visual Studio 2005 Team System For Database Professionals, which they have about 4,000 cds with the first CTP bits on them that will be handed out later today. The v1 story for VSTO:DB is going to include SchemaCompare, DataCompare, Unit Testing, an improved SQL Editor for Visual Studio, and Database Source Control....(truncated)...
TechEd Keynote
(Indexed 2006-06-12):
Choloe O’Brien from 24 has been the highlight of the keynote so far. There’ve been several 4–minute videos following the 24 format (dubbed “4”) which were pretty humorous. The main gist of the keynote so far as been security and availability via server systems. As a developer, I haven’t seen much yet, although they did talk a bit about Windows Live Authentication and how it will hopefully become Federated such that businesses can participate in this authent...(truncated)...
Debugging Tips and VS 2005 Code Snippets
(Indexed 2006-06-05):
Last week I published two new articles on ASPAlliance.com:Visual Studio Debugging Tips and Tricks – which shows how to use some attributes to make your debugging experience much easier with Visual Studio.Using Visual Studio 2005 Code Snippets to Write Better Code Faster – which demonstrates the new code snippets features in VS 2005, which allows simple keywords to be used to generate code, from the simple to the complex. At the very least, you should check these out for properties &...(truncated)...
Atlas Charting Goodness
(Indexed 2006-06-05):
I really love charts and statistics. Give me a decent reporting application and I can spend all kinds of time analyzing data this way and that, looking for trends. The problem is, usually you have to have a separate reporting interface, away from your main application, which limits its usability. One reason for this is that charts take up a lot of room, and so you don’t want to detract from your app’s limited UI space with charts unless the user is looking for charts (in which cas...(truncated)...
Announcing Visual Studio Team Edition for Database Professionals
(Indexed 2006-06-02):
This morning (09:00 PST, Wednesday May 31st 2006) the Visual Studio Team System team announced the availability of a brand product in the Team System family. Visual Studio Team Edition for Database Professionals delivers a market-shifting database development product designed to manage database change, improve software quality through database testing and bring the benefits of Visual Studio Team System and life cycle development to the database professional. It delivers on Microsoft’s comm...(truncated)...
Adobe, PDF, Microsoft, and Office
(Indexed 2006-06-02):
Office 2007 won’t include Save As PDF by default, but you can still get it as a free download. More information here – I’ll save the analysis for others.http://blogs.msdn.com/brian_jones/archive/2006/06/02/...(truncated)...
Expression Web Designer Is Here
(Indexed 2006-05-15):
CTP 1 of Expression Web Designer is now available for download. Please see the announcement from Devindra Chainani, Group Program Manager, Expression Web Designer, for more details and download links.Expression Web Designer is a new Microsoft tool for creating professional looking web sites which is compatible with ASP.NET.[Image]
Code Query Language
(Indexed 2006-05-12):
http://www.practicaldot.net/en2/main.htmHave you ever wanted to run some metrics on your code base, to try and gauge its quality or to try and find bad practices? There are some tools out there for such static analysis, such as FxCop and the built in tools in VSTS, as well as SSW's regular expression based Code Auditor Tool. However, another approach, using a Code Query Language, seems to have a lot of potential. You can read the specification here:http://www.ndepend.com/CQL.htmFor instance, ...(truncated)...
Practical .NET2 and C#2
(Indexed 2006-05-12):
I recently had the opportunity to skim-read Practical .NET2 and C#2 by Microsoft MVP Patrick Smacchia. You’ll find the book’s table of contents and examples online at its website (linked from title), along with an impressive list of testimonials. I would have to agree with what many other reviewers have noted – this is a very good comprehensive look at C# 2.0 and how to use it to work with the .NET Framework 2.0. I have perhaps half a dozen C# books on my desk, including the...(truncated)...
Atlas GeoTagging Tool
(Indexed 2006-05-11):
DotNetSlackers has a new Atlas tool written by Alessandro Gallo that combines geotagging, Flickr images, and a mapping tool. Pretty cool. One of these days I will have to play with Flickr… [Image]
Assembly Hijacking Video
(Indexed 2006-05-11):
RockyH has a great little video walkthrough called Assembly Hijacking showing how a bad guy can use a combination of SQL Injection and lack of strong named assemblies to do bad things to an e-commerce website. Definitely worth watching and remembering.[Image]
Beginning AJAX Book - Tech Edit Complete
(Indexed 2006-05-10):
As of today I'm officially done tech editing Beginning AJAX, a book coming soon from Wiley publishing. Amazon has a page for the book (pre-production) here. The book includes information on writing your own AJAX framework, using several existing free AJAX libraries, and working with Microsoft's ATLAS framework. It still has a few more steps to go through before it hits the presses but you should expect to see it in the next 2-3 months, I'd guess (Amazon says August 28, 2006). [Image]
PromptSQL - RedGate SQL Prompt
(Indexed 2006-05-04):
I love Red Gate Software. Their tools rock. If you use SQL Databases, I highly recommend them. I just saw that they recently bought Prompt SQL and will soon be releasing it as SQL Prompt. You can download the SQL Prompt beta if you like.What is it? Basically it provides Intellisense in Query Analyzer, something I've been wanting for years. I was extremely disappointed that this feature did not make it into SQL 2005's set of tools. It looks something like this in action:[Image][Image]
Kent Ohio
(Indexed 2006-05-03):
I live in Kent, Ohio, which is a pretty small community in northeast Ohio, about 20 minutes east of Akron or 45 minutes south of Cleveland. It's known to many as home to Kent State University (yes, that Kent State, which depending on whom you ask might be "the place where those students got shot in 1970" or "the university that had the pretty good basketball team a couple of years ago").I grew up in Kent, and although I didn't think I would end up living here when I "grew up" that's pretty much...(truncated)...
Caching Domain Objects Article
(Indexed 2006-04-27):
My DotNetSlackers news pointed me to this article on Domain Objects Caching Pattern in .NET. This is actually a pretty good article on caching best practices, but I did want to take exception to one statement that is clearly in error:And, your options are ASP.NET Cache, Caching Application Block in Microsoft Enterprise Library, or some commercial solution like NCache from Alachisoft. Personally, I would advise against using ASP.NET Cache since it forces you to cache from presentation layer (ASP...(truncated)...
IronSpeed and My Custom Reports App
(Indexed 2006-04-26):
I'm working on a quick little data warehouse application that I'm using as a testbed for some products and components I'm playing with. Basically it has 3 tables, one with connection strings, one with queries, and one that logs query results. Anyway, I threw together the SQL tables about an hour ago and then decided I'd try out the latest Iron Speed Designer for some quick web-based administration. It took about 5 minutes to download and install the app, then another 5 minutes to generate my ...(truncated)...
Tech Editing AJAX and Atlas Book
(Indexed 2006-04-24):
I'm almost done with tech editing an upcoming book from Wiley by Wally, Paul, Craig, and Scott, on Beginning AJAX and Atlas. It's been a very educational experience but I'm glad it's wrapping up (and hopefully the book will be on shelves before this whole AJAX fad wears off). Update: Oops, forgot an author. Sorry Craig, I was zoning out.[Image]
ASP.NET 2.0 Provider Source Code Released
(Indexed 2006-04-17):
This is very cool. The ASP.NET team has released the source code for the built in providers for the following:MembershipRole ManagementSite NavigationSession StateProfileWeb EventsWeb Part PersonalizationYou can download them here. Learn more about the ASP.NET 2.0 Provider Model (e.g. what are these?) here.Read more, including white papers, on ScottGu's Blog.[Image]
Atlas Control Toolkit Released
(Indexed 2006-04-13):
The ASP.NET team has released the Atlas Control Toolkit, which, according to their site, is:a collection of samples and components that makes it easier then ever to build and consume rich client-side Atlas controls and extenders. The toolkit provides both ready to go samples and a powerful SDK to simplify the creation and re-use of your own custom controls and extenders. You can read more and download the toolkit here.[Image]
AEP Talk in Columbus Ohio Today
(Indexed 2006-04-13):
I drove down to Columbus Ohio to speak to the AEP (American Electric Power) ASP.NET User Group's lunch meeting. There was a pretty good turnout with about 40 people present locally and another dozen or so connected in from Oklahoma via video conference. The subject was my favorite, .NET Caching Best Practices, and the presentation seemed to be well-received. You can find the basic slide deck here and more information on ASP.NET caching here.One question I got that was a new one for me was, "W...(truncated)...
Get Date From DateTime In SQL
(Indexed 2006-03-24):
Something I need to do from time to time is get just the date part of a datetime value in SQL. I found a cool way to do it on SQLJunkies today.select convert(varchar,DateColumn,101)The 101 means mm/dd/yyyy format, but there are a bunch of other codes you can use. 108 will return just the time hh:mm:ss for instance.Update: 101 includes 4 digit year 'yyyy'. A code of 1 would apparently be "mm/dd/yy", according to user comments. Thanks![Image]
Speaking in Greenville Spartanburg on Caching Best Practices
(Indexed 2006-03-20):
Tomorrow I'm going to give a presentation on Caching Best Practices in ASP.NET 2.0 at the Greenville Spartanburg Enterprise Developer Guild. If you're in the area, please come by. I'll put the slides and samples up on the ASPAlliance Resource Directory's Presentations File Gallery after the presentation.Update: Slides and demos available now.[Image]
Microsoft Atlas Update Released
(Indexed 2006-03-20):
This week Microsoft has updated the latest version of Microsoft Atlas. You can download the March CTP from http://atlas.asp.net/. You'll find step-by-step installation instructions, documentation, and sample applications here. And of course if you do build something cool, don't forget to enter it in the Mash It Up With Atlas Contest.I've heard it rumored there's a Go Live license with this version but I'm not seeing any reference to that on the website -- perhaps it's in the installer. I'll ...(truncated)...
Microsoft Atlas Contest
(Indexed 2006-03-20):
I only mentioned the Made In Express Contest a few minutes ago and now I see there is a contest for Microsoft Atlas, their new AJAX / Web 2.0 framework.You have a chance to win an XBOX 360 premium and Windows Mobile 5.0 smartphones!What is it?This contest is all about creating awesome Mash-up applications using Atlas technology. Nothing fancy about it. Download Atlas and build a rockin cool mash-up application. Be creative. Think outside the box. Do something amazing. This is your chance to get ...(truncated)...
Team Hanselman Diabetes Walk
(Indexed 2006-03-20):
Scott Hanselman is one of my heroes. His .NET knowledge is tremendous and he's just a really good guy. He has diabetes, on May 6th he's going to be walking to fight diabetes with Team Hanselman. The goal is to raise $10,000 for the cause. If you want to learn more, or learn how you might help, see Scott's post:Team Hanselman and Diabetes Walk 2006[Image]
Visual Studio 2005 ASP.NET Web Deployment Projects
(Indexed 2006-03-16):
ASP.NET now supports something called Web Deployment Projects, which are an add-in for Visual Studio 2005 that is currently still in beta. You can download the installer from here:http://msdn.microsoft.com/asp.net/reference/infrastructure/wdp/I recently took them for a spin with a site of mine. The key benefit I was after was the ability to swap out web.config sections as part of the deployment process. This would let me automatically deploy my production web.config with its production databa...(truncated)...
Does Microsoft Buy In To .NET?
(Indexed 2006-03-16):
Every now and then some high profile personality, perhaps one who once had close ties to Microsoft, about how .NET is really a total failure. How it's clear that it isn't going anywhere. That, as proof of these assertions, Microsoft cannot even manage to use it for its own products, so why should we? Personally I think these kinds of articles are rather easy to debunk, and show that their author is either ignorant of the facts (which is unlikely) or has a personal agenda that is coloring his ...(truncated)...
Annoying Visual Studio Add Existing Project Behavior Solved
(Indexed 2006-03-15):
Using Visual Studio 2005, I set up a new solution the other day with a bunch of projects. The folder structure looks something like this:/Solution/Solution/Project1/Solution/Project2/Solution/...(truncated)... one of the projects was originally in another folder under My Documents/Other Projects/Project4 let's say. I don't recall if I originally added it from this location and then removed it, moved it, and re-added it, or if I simply added it from /Solution/Project4 to begin with, but every t...(truncated)...
