This RTM contains the same features as v2.0 RTM plus these features:
- Instance Registration to IServiceLocator
- You can now add an instance of a type to the underlying container so you can address the single instance context.
- IServiceLocator is registered into the container
- This allows for components to take in a dependency on IServiceLocator and have it be injected at construction.
- Batch registration with underlying IoCs
- Using the batch registration for each IoC to make type registration more streamlined and performant. (StructureMap: Registries, Ninject: Modules, etc)
- Added the GetUnderlyingContainer extension method to IServiceLocator to allow access for the underlying IoC implemenation.
- If explicit access to the underlying IoC is needed, the method will query the corresponding member in the implementation and return to the caller.
- Added extension methods to the ViewContext, ControllerContext and ControllerBase to access the current IServiceLocator without explicitly casting.
- Added new Services folder with implementation of IMessageService and MessageService to get the Welcome to ASP.NET MVC! message
- For each IoC, implemented the injection of the container into the CSL as compared to manually doing it (v2 templates)