首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在ASP.NETMVC 4中使用Autofac注入HttpContextBase?

如何在ASP.NETMVC 4中使用Autofac注入HttpContextBase?

提问于 2018-02-12 00:04:46
回答 1关注 0查看 362

我在用ASP.MVC 4Autofac...

我已在我的global.asax.cs

代码语言:txt
复制
ContainerBuilder builder = new ContainerBuilder();

builder.Register(c => c.Resolve<HttpContextBase>().Request)
     .As<HttpRequestBase>()
     .InstancePerHttpRequest();
builder.Register(c => c.Resolve<HttpContextBase>().Response)
     .As<HttpResponseBase>()
     .InstancePerHttpRequest();
builder.Register(c => c.Resolve<HttpContextBase>().Server)
     .As<HttpServerUtilityBase>()
     .InstancePerHttpRequest();
builder.Register(c => c.Resolve<HttpContextBase>().Session)
     .As<HttpSessionStateBase>()
     .InstancePerHttpRequest();

builder.RegisterControllers(Assembly.GetExecutingAssembly());

builder.RegisterType<WebWorkContext>().As<IWorkContext>().InstancePerHttpRequest();

在我的家庭控制器中,我有(只是为了测试目的):

代码语言:txt
复制
private readonly HttpContextBase httpContext;

public HomeController(HttpContextBase httpContext)
{
     this.httpContext = httpContext;
}

我在ASP.NETMVC 3项目中使用了完全相同的代码,它运行得很好。现在在这个项目中,我遇到了错误。不知道为什么?我得到的错误是:

...1 parameters) at Autofac.Core.Resolving.InstanceLookup.Activate(IEnumerable*...1 parameters) at Autofac.Core.Resolving.InstanceLookup.ResolveComponent(IComponentRegistration registration, IEnumerable*...

怎么办?

回答

和开发者交流更多问题细节吧,去 写回答
相关文章

相似问题

相关问答用户
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档