4
在ASP.NET MVC应用程序中注入Http/Request/Controller上下文有推荐的方法吗?ASP.NET MVC注入Http /请求/控制器上下文
以前我只用HttpContext的像这样做到了这一点(我用StructureMap):
For<HttpContextBase>().Use(ctx => new HttpContextWrapper(HttpContext.Current));
然而,在某些情况下,我还需要获得访问请求上下文。不是手动构建,而是注入它会很好。一个好的例子是注入一个UrlHelper(需要RequestContext和RouteCollection)。
感谢
本
嗨罗宾,我一般只拥有这些依赖纯粹的语境对象,例如抽象访问之类的当前用户SiteContext上下文等等。我可以一直嘲笑HttpContextBase无论如何。我也发现这篇文章看起来很有趣 - http://kozmic.pl/2010/05/22/contextual-controller-injection-in-asp-net-mvc-with-castle-windsor/ – 2011-03-29 16:32:42
为什么它会使它难以测试,他们被注入,所以可以被嘲笑吗? (我即将做到这一点,以及我即将做到这一点) – NimChimpsky 2014-04-09 15:48:57