依赖注入结构图ASP.NET Identity MVC 5

 ougq 发布于 2023-02-12 21:55

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

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

    public AccountController()
        : this(new UserManager(new UserStore(new OmpDbContext())))
    {    

    }

    public AccountController(UserManager userManager)
    {
        UserManager = userManager;
    }

我的StructureMap配置如下所示:

public static class IoC {
    public static IContainer Initialize() {
        ObjectFactory.Initialize(x =>
                    {
                        x.Scan(scan =>
                                {
                                    scan.TheCallingAssembly();
                                    scan.WithDefaultConventions();
                                });

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

                        x.For().HttpContextScoped();

                    });
        return ObjectFactory.Container;
    }
}

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

尝试获取AccountController类型的实例时出现激活错误,键""

有关如何为构造注入新建UserManager对象的任何想法?我试过四处寻找但却找不到多少指导.

1 个回答
  • 将以下代码添加到Container初始化方法中.

    x.For<Microsoft.AspNet.Identity.IUserStore<ApplicationUser>>()
    .Use<Microsoft.AspNet.Identity.EntityFramework.UserStore<ApplicationUser>>();
    
    x.For<System.Data.Entity.DbContext>().Use(() => new ApplicationDbContext());
    

    2023-02-12 22:15 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有