The ASPSmith's Blog

Some rants about ASP.NET by Steven Smith

  • Separating Concerns in ASP.NET MVC

    If you're using ASP.NET MVC, chances are you're already a fan of SOLID Principles, Separation of Concerns, and perhaps Domain-Driven Design. If so, you may have run into the conundrum of how to remove references to your infrastructure projects from your application's entry point (for instance, your ASP.NET MVC project), since when following the Dependency Inversion Principle you want your application to depend on interfaces, not details.  Using an IoC container like StructureMap, you can easily configure your solution to achieve this, ensuring that at compile time there will be no way for developers to directly use types from your infrastructure project.  I've laid out the details with sample code in a full article on how to use types from a project without referencing it. Let me know if you find it useful, either in blog comments or on twitter where I'm @ardalis.

  • Production Database Migration

    I thought I'd share my experience with moving a heavily used production database for a live website from one server to another this weekend.  The database in question is used to support, but since it has been around for a long time, and since getting additional databases has not always been easy or free, there are several other sites that rely on this same database.  Additionally, on there are a large number of individual ASP and ASP.NET applications, many of which store their connection string information locally.  I'm still not 100% done tracking down all the apps that need updated, but the important ones are done.

  • Evolving Custom Web Controls

    Although sometimes you start out knowing you need a custom control, what more often happens is you find that you're using the same functionality in more than one place, so you start packaging it up into a control in order to remove duplication and improve reusability.  This article takes a look at when and how you should do such things by taking a fairly simple piece of ASP.NET functionality and evolving it from some code on a form to a user control to a fully-functional custom web control.

  • Newsgator Activation

    Ok, so I got newsgator last week ( and today was the first day since then that I actually rebooted my machine and got the nag prompt to activate it when I started Outlook.  So, having become enthralled with the product, I decided what the heck and spent the $29 to buy it.  Got my activation key in an email a few minutes later, life was good, I clicked on NewsGator in Outlook and went to find the Activate link.

  • Newsgator 1.3

    I've never used Newsgator before but since I just redid the RSS feed on I thought I should give it a shot and see how it works (I've also only recently gone to Outlook from Outlook Express (see past archives for my thoughts on the switch)).  I have to say I really like it and am starting to subscribe to a bunch of blogs that previously I would manually periodically check with my browser (I know, how archaic is THAT).  So now, that thing on the side of my blog that says 'Blogs I Read' will actually be a bit more accurate, since I'll get notified of new posts to those blogs in semi-realtime.

  • Speaking At Memphis DNUG

    I'll be speaking at the Memphis .NET User Group on Tuesday, 11/18.  I'm going to be giving an overview of ASP.NET Whidbey, which of course has recently been made public at the Microsoft Professional Developers' Conference 2003 in late October.  For more information and directions to the event, see the MNUG website.