Asp.net mvc 无默认构造函数的Autofac DI.NET MVC控制器
当我对ASP.NET MVC控制器使用Ajax查询时,我有一个错误:键入“Web.Implementation.Controllers.MyController”没有默认构造函数 我的代码:Asp.net mvc 无默认构造函数的Autofac DI.NET MVC控制器,asp.net-mvc,constructor,dependency-injection,controller,autofac,Asp.net Mvc,Constructor,Dependency Injection,Controller,Autofac,当我对ASP.NET MVC控制器使用Ajax查询时,我有一个错误:键入“Web.Implementation.Controllers.MyController”没有默认构造函数 我的代码: //In My Controller private IDataService DataService; //I try to delete this constructor, //because I use DI and don't want to create a
//In My Controller
private IDataService DataService;
//I try to delete this constructor,
//because I use DI and don't want to create a CurrentContext and DataService.
public MyController()
{
var CurrentContext = new CurrentContext();
DataService = new DataService(CurrentContext);
}
public MyController(IDataService dataService)
{
DataService = dataService;
}
//In Autofac Init
builder.RegisterType<DataService>().As <IDataService>();
你至少可以用谷歌搜索一下吗?是的,谢谢,我在autofac init中编写了builder.RegisterType().InstancePerhtPrequest(),但它不起作用。您是否使用
DependencyResolver.SetResolver(新的AutofacDependencyResolver(容器))设置依赖项解析程序代码>?我从global.asax调用初始化函数f
//in Global.asax
DependencyConfigure.Initialize();
//in DependencyConfigure class
public static void Initialize()
{
var builder = new ContainerBuilder();
DependencyResolver.SetResolver(
new Dependency(RegisterServices(builder))
);
}