使用ASP.NET MVC 4时,Spring.NET为每次命中创建新的MvcApplicationContext

时间:2012-06-28 23:27:05

标签: spring.net

我一直在玩Spring.NET 2.0.0M1对ASP.NET MVC4的支持。虽然很有希望,但我认为我遇到了一个关键问题:为每次点击创建一个新的MvcApplicationContext(当使用MVC4的WebApi时)。虽然我认为这样做的目的是支持其他范围,但到目前为止我所做的调试表明,新的MvcApplicationContext是使用整个应用程序的WebApplicationContext作为父ApplicationContext创建的,并且与父级具有相同的配置位置。因此,这个新的子MvcApplicationContext加载相同的配置位置并重新创建所有对象,包括所有单例,并且永远不会委托给父上下文。这有效地使单身人士无法使用,并有效地将所有内容绑定到请求范围(或更低)。

创建新MvcApplicationContext的相关代码现在是master中的Spring.Web.Mvc4 / SpringWebApiDependencyResolver.cs的第43到52行。

我没有足够的Spring.NET经验来了解正确的修复/解决方法是什么,但我愿意尝试是否有人有想法。如果同意这是一个错误,我会很乐意开放一个问题。

我可能在我的结尾犯了一个错误,但我把它与样本进行了比较,并没有发现明显的问题。

0 个答案:

没有答案