2
我MVC控制器(在控制器文件夾),在同一個項目網頁API控制器(以API文件夾):這裏是文件夾結構:Autofac - 依賴注入的MVC控制器和網絡API控制器
- 控制器
- ProductController的
- 阿比
- ProductCo ntroller
這裏是我的引導程序方法:
private static void SetAutofacContainer()
{
var builder = new ContainerBuilder();
builder.RegisterApiControllers(Assembly.GetExecutingAssembly());
builder.RegisterControllers(Assembly.GetExecutingAssembly());
//builder.RegisterType<UnitOfWork>().As<IUnitOfWork>().InstancePerRequest();
builder.RegisterType<DbFactory>().As<IDbFactory>().InstancePerRequest();
// Repositories
builder.RegisterAssemblyTypes(typeof(ProductRepository).Assembly)
.Where(t => t.Name.EndsWith("Repository"))
.AsImplementedInterfaces().InstancePerRequest();
IContainer container = builder.Build();
DependencyResolver.SetResolver(new AutofacDependencyResolver(container));
}
我不能注入資源庫到我的網絡API控制器。這是我得到的例外:
嘗試創建類型爲 'ProductController'的控制器時發生錯誤。確保控制器具有無參數 公共構造函數。
我在做什麼錯?
當一切都失敗了,閱讀文檔:http://docs.autofac.org/en/stable/integration/webapi.html#set-the-dependency-分解器 – NightOwl888