I've been playing with Spring.NET 2.0.0M1's support for ASP.NET MVC4. While promising, I think I've run into a critical issue: a new MvcApplicationContext is created for each hit (when using MVC4's WebApi). While I believe the purpose of this is to support the additional scopes, the debugging I've done so far suggests that the new MvcApplicationContext is created with the overall application's WebApplicationContext as the parent ApplicationContext and is given the same config locations as the parent. As such, this new child MvcApplicationContext loads the same config locations and recreates all of objects, including all of your singletons, and never delegates to the parent context. This effectively makes singletons unusable, and effectively binds everything to the request scope (or lower).
The relevant code which is creating the new MvcApplicationContext is lines 43 to 52 of Spring.Web.Mvc4/SpringWebApiDependencyResolver.cs in master right now.
I don't have enough experience in Spring.NET to know what the correct fix/workaround is, but I'm willing to experiment if anyone has ideas. If there's agreement that this is a bug, I'd be happy to open-up an issue.
I might be making a mistake on my end, but I have compared this to the samples and haven't found an obvious problems.