加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-mvc-5 – 依赖注入结构图ASP.NET Identity MVC 5

发布时间:2020-12-15 23:18:56 所属栏目:asp.Net 来源:网络整理
导读:我正在使用新的ASP.NET MVC 5身份验证框架进行身份验证.传统上我使用StructureMap进行依赖注入,但是我在连接新的AccountController时遇到了问题. 我的AccountController构造函数如下所示: public AccountController() : this(new UserManagerOmpUser(new Us
我正在使用新的ASP.NET MVC 5身份验证框架进行身份验证.传统上我使用StructureMap进行依赖注入,但是我在连接新的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对象进行构建注入的想法?我试过搜索,但在那里找不到太多的指导.

解决方法

将以下代码添加到容器初始化方法中.
x.For<Microsoft.AspNet.Identity.IUserStore<ApplicationUser>>()
.Use<Microsoft.AspNet.Identity.EntityFramework.UserStore<ApplicationUser>>();

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读