Tag: owin autofac

使用依赖项注入时,未注册IUserTokenProvider

调用GeneratePasswordResetTokenAsync()方法时出错。 我用owin身份配置了autofac。 错误是: 使用依赖项注入时,未注册IUserTokenProvider 在我的sample.web项目中有一个AutofacConfig.cs文件,我在其中注册了我在usermanager项目中创建的signinmanager和usermanager 。 AutofacConfig.cs public class AutofacConfig { public static Autofac.IContainer RegisterDependencies() { var containerBuilder = new ContainerBuilder(); // REGISTER DEPENDENCIES containerBuilder.RegisterType() .As() .InstancePerDependency(); containerBuilder.RegisterType<UserStore>() .As<IUserStore>() .InstancePerRequest(); containerBuilder.RegisterType() .AsSelf() .InstancePerRequest(); containerBuilder.RegisterType() .AsSelf() .InstancePerRequest(); containerBuilder.RegisterType(); containerBuilder.Register(c => HttpContext.Current.GetOwinContext().Authentication) .InstancePerRequest(); var container = containerBuilder.Build(); DependencyResolver.SetResolver(new AutofacDependencyResolver(container)); var resolver = new AutofacWebApiDependencyResolver(container); GlobalConfiguration.Configuration.DependencyResolver = resolver; […]

OWIN + SignalR + Autofac

摘自: http : //docs.autofac.org/en/latest/integration/signalr.html : “OWIN集成中的一个常见错误是使用GlobalHost。在OWIN中,您可以从头开始创建配置。在使用OWIN集成时,不应该在任何地方引用GlobalHost。” 这听起来很合理。 但是,如何从ApiController解析IHubContext ,就像通常的(非OWIN): GlobalHost.ConnectionManager.GetHubContext() ? 我无法在任何地方找到这个参考,我现在唯一的方法是在同一个容器中注册HubConfiguration实例并执行以下操作: public MyApiController : ApiController { public HubConfiguration HubConfig { get; set; } // Dependency injected by // PropertiesAutowired() public IHubContext MyHubContext { get { return HubConfig .Resolver .Resolve() .GetHubContext(); } } // … } 但是,这对我来说似乎很啰嗦。 这样做的正确方法是什么? 更具体一点,是否有一种注册IConnectionManager的简洁方法? 编辑: 我最终做的是: var container = builder.Build(); […]