ASP.NET MVC Preview 4

I spent yesterday updating our largest application to MVC Preview 4. As part of the upgrade, I also made some tweaks to MvcContrib's ConventionController (documentation not yet updated).

Here's a summary of some of the things that have changed:

  • TempData finally works with out of process session state
  • Filters that implement IExceptionFilter can easily catch exceptions thrown by other filters
  • The RescueAttribute in MvcContrib is now an IExceptionFilter, so it can be used with classes that don't inherit from ConventionController
  • Multiple filters can now have the same sort order. This makes it easy to define a 'default' order, and then have other filters execute before/after
  • TempData is now testable without needing to mock anything
  • All the ComponentController hackery is gone - RenderAction is a much nicer alternative
  • The bug that broke URL generation is fixed

Here's what sucks with Preview 4:

  • SubDataItems still doesn't seem to work properly
  • AuthorizeAttribute, OutputCacheAttribute and HandleError attribute are sealed and have no virtual methods
  • The new built in Ajax support doesn't seem to be easily replaceable with alternative libraries
Written on July 18, 2008