为了账号安全,请及时绑定邮箱和手机立即绑定

无法将 autofac 与 web api 2 和 mvc 集成

无法将 autofac 与 web api 2 和 mvc 集成

C#
素胚勾勒不出你 2021-07-06 17:34:02
这件事需要我一个星期的时间我已经做了很多方法来找到解决方案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.


查看完整回答
反对 回复 2021-07-10
?
忽然笑

TA贡献1806条经验 获得超5个赞

我通过评论解决了这个问题:

builder.RegisterWebApiFilterProvider(config);

builder.RegisterHttpRequestMessage(config);

AutofacDi


查看完整回答
反对 回复 2021-07-10
  • 2 回答
  • 0 关注
  • 147 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信