這件事需要我一個星期的時間我已經做了很多方法來找到解決方案mvc 與 autofac 完全集成,但 web api NO 和 NO!:-(這是我的代碼: AutofacDi public static class AutofacDi{ public static ValueTuple<IContainer, HttpConfiguration> Initialize() { var assembly = Assembly.GetExecutingAssembly(); var builder = new ContainerBuilder(); var config = GlobalConfiguration.Configuration; builder.RegisterControllers(assembly); builder.RegisterApiControllers(assembly).PropertiesAutowired(); builder.RegisterHttpRequestMessage(config); builder.RegisterAssemblyModules(assembly); builder.RegisterAssemblyTypes(assembly).PropertiesAutowired(); builder.RegisterFilterProvider(); builder.RegisterWebApiFilterProvider(config); builder.RegisterModelBinders(assembly); builder.RegisterWebApiModelBinderProvider(); builder.RegisterModelBinderProvider(); builder.RegisterModule<AutofacWebTypesModule>(); builder.RegisterSource(new ViewRegistrationSource()); builder.RegisterType<T4MVC.Dummy>().AsSelf(); builder.RegisterType<FoodDbContext>() .As<IUnitOfWork>() .InstancePerLifetimeScope(); builder.Register(context => (FoodDbContext)context.Resolve<IUnitOfWork>()) .As<FoodDbContext>() .InstancePerLifetimeScope(); builder.RegisterType<ApplicationDbContext>().As<DbContext>().InstancePerLifetimeScope(); builder.RegisterType<UserStore<ApplicationUser>>().As<IUserStore<ApplicationUser>>(); builder.RegisterType<ApplicationUserManager>(); builder.RegisterType<ApplicationSignInManager>(); builder.Register(c => new IdentityFactoryOptions<ApplicationUserManager>() { DataProtectionProvider = new DpapiDataProtectionProvider("FoodBaMa") });
2 回答

至尊寶的傳說
TA貢獻1789條經驗 獲得超10個贊
看來您可能已經解決了您的問題,我希望這是真的。這里有很多東西需要消化,但我確實看到了一個關于 OWIN 集成和 Web API 的常見錯誤,如 Autofac文檔中所述:
OWIN 集成中的一個常見錯誤是使用
GlobalConfiguration.Configuration
. 在 OWIN 中,您可以從頭開始創建配置。GlobalConfiguration.Configuration
使用 OWIN 集成時,不應在任何地方引用。
您可能會在設置中遇到其他/其他挑戰;如果這樣做,請嘗試擺脫GlobalConfiguration.Configuration
.

忽然笑
TA貢獻1806條經驗 獲得超5個贊
我通過評論解決了這個問題:
builder.RegisterWebApiFilterProvider(config);
和
builder.RegisterHttpRequestMessage(config);
在AutofacDi
- 2 回答
- 0 關注
- 171 瀏覽
添加回答
舉報
0/150
提交
取消