这件事需要我一个星期的时间我已经做了很多方法来找到解决方案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 关注
- 147 浏览
添加回答
举报
0/150
提交
取消