With the release of MVC2, what noteworthy features are included in the refresh of the MVC Futures library?
There are two versions of MVC Futures that sit alongside MVC 2 RTM. One version targets .NET 3.5; the other targets .NET 4. (The .NET 4 version is not a superset of the .NET 3.5 version; you must include both of them in your application if you want the entire range of functionality.) Download from http://aspnet.codeplex.com/releases/view/41742.
A non-exhaustive feature list (.NET 3.5+):
A diagnostics page which can help diagnose runtime and assembly loading errors (see documentation).
A new, more powerful model binding and validation system. Detailed documentation and a tutorial are available at the above link.
Improved support for building RESTful services (see the Microsoft.Web.Mvc.Resources namespace).
Strongly-typed ActionLink<T>().
A slew of other filters and helpers, such as Html.Serialize() (see blog post), Html.Script(), etc.
A slew of other value providers, such as JsonValueProviderFactory.
The ability to turn off Session State for individual controllers to increase parallelism in your site (see documentation).
The version of MVC Futures that targets ASP.NET 4 additionally includes:
The ability to have partial output caching, e.g. caching the result of a RenderAction() separately from the rest of the page.
DynamicViewPage allows you to use real dynamic objects in your ViewPage, somewhat more full-featured than the default ViewPage<dynamic>.
The ability to use DataAnnotations 4 attributes.
Remote validation, IClientValidatable (the ability of a validation attribute to supply its own client validation info), and the ability for custom non-DataAnnotations attributes to contribute to ModelMetadata information.