gpt4 book ai didi

asp.net-mvc-5 - 依赖注入(inject)结构图 ASP.NET 标识 MVC 5

转载 作者:行者123 更新时间:2023-12-03 20:00:10 26 4
gpt4 key购买 nike

我正在使用新的 ASP.NET MVC 5 Identity 框架进行身份验证。我传统上使用 StructureMap 进行依赖注入(inject),但我在连接它以使用新的 AccountController 时遇到问题。

我的 AccountController 构造函数如下所示:

    public AccountController()
: this(new UserManager<OmpUser>(new UserStore<OmpUser>(new OmpDbContext())))
{

}

public AccountController(UserManager<OmpUser> userManager)
{
UserManager = userManager;
}

我的 StructureMap 配置如下所示:
public static class IoC {
public static IContainer Initialize() {
ObjectFactory.Initialize(x =>
{
x.Scan(scan =>
{
scan.TheCallingAssembly();
scan.WithDefaultConventions();
});

//x.Register<IUserStore<OmpUser>>(() =>
// new UserStore<OmpUser>(new OmpDbContext()));

x.For<OMPEntities>().HttpContextScoped();

});
return ObjectFactory.Container;
}
}

当我运行项目时,我收到以下错误:

Activation error occured while trying to get instance of type AccountController, key ""



关于如何新建一个 UserManager 对象以进行构造注入(inject)的任何想法?我试过四处寻找,但找不到太多指导。

最佳答案

将以下代码添加到您的 Container 初始化方法中。

x.For<Microsoft.AspNet.Identity.IUserStore<ApplicationUser>>()
.Use<Microsoft.AspNet.Identity.EntityFramework.UserStore<ApplicationUser>>();

x.For<System.Data.Entity.DbContext>().Use(() => new ApplicationDbContext());

关于asp.net-mvc-5 - 依赖注入(inject)结构图 ASP.NET 标识 MVC 5,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20372594/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com