对于在ASP.NET MVC应用程序中注入Http/Request/Controller上下文,有没有推荐的方法?
以前我只用HttpContext这样做过(我用的是StructureMap):
For<HttpContextBase>().Use(ctx => new HttpContextWrapper(HttpContext.Current));但是,在某些情况下,我还需要访问请求上下文。与其手动构建它,不如注入它。一个很好的例子就是注入一个UrlHelper (需要RequestContext和RouteCollection)。
谢谢
本
发布于 2011-03-29 01:11:09
您可能需要考虑是否真的希望直接依赖这些上下文对象(它们往往会使依赖于它们的东西很难测试)。也就是说,你走在了正确的道路上:
For<RequestContext>().Use(ctx => HttpContext.Current.Request.RequestContext);
For<RouteCollection>().Use(ctx => RouteTable.Routes);https://stackoverflow.com/questions/5443453
复制相似问题