带有Mvc区域和Autofac的WebForms项目IoC
问题描述:
我有一个带有Mvc区域的WebForms项目。带有Mvc区域和Autofac的WebForms项目IoC
我有两个方法在Global.asax.cs的Application_Start中分别注册Autofac依赖注入服务;
private void WebFormsContainer()
{
var webFormsContainer = new ContainerBuilder();
webFormsContainer.RegisterAssemblyTypes(typeof(CompanyService).Assembly)
.Where(s => s.Name.EndsWith("Service"))
.AsImplementedInterfaces().InstancePerRequest();
_containerProvider = new ContainerProvider(webFormsContainer.Build());
}
而且,
private void MvcContainer()
{
var builder = new ContainerBuilder();
builder.RegisterControllers(Assembly.GetExecutingAssembly());
builder.RegisterAssemblyTypes(typeof(CompanyService).Assembly)
.Where(s => s.Name.EndsWith("Service"))
.AsImplementedInterfaces().InstancePerRequest();
IContainer container = builder.Build();
DependencyResolver.SetResolver(new AutofacDependencyResolver(container));
}
的WebForms的注入似乎工作,但是当我尝试应用程序的MVC的一部分,我得到的错误;
没有为此对象定义的无参数构造函数。
问题是如何在Webforms应用程序中为MVC区域设置Autofac?
答
我以前试过这个帖子的答案; Autofac, MVC (with ActionFilters), Web.Forms - dependency resolution conflict但我必须尝试不正确的,因为我已重试它,并得到它的工作。
问题是什么?此外,该异常应该命名缺少无参数构造函数的类型,因此您应该添加一个或注册实例化所需的类型。 – orhtej2
@ orhtej2它是MVC区域中没有无参数构造函数的控制器。 –