1

我有一个带有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?

+0

问题是什么?此外,该异常应该命名缺少无参数构造函数的类型,因此您应该添加一个或注册实例化所需的类型。 – orhtej2

+0

@ orhtej2它是MVC区域中没有无参数构造函数的控制器。 –

回答