类型 RoleStore 不可分配给服务 IRoleStore

2024-04-27

我正在尝试使用 Autofac 为使用 MVC5 和 EF6 的项目设置依赖项注入。

我很难弄清楚如何正确解耦 EntityFramework.RoleStore 实现。
我只想依赖 Identity.IRoleStore 但我知道对于泛型类,我需要指定具体实现,而不是接口。

这是我尝试过的:

        builder.RegisterType<IdentityRole>().As<IRole>();
        builder.RegisterType<RoleManager<IRole>>();
        builder.RegisterType<RoleStore<IdentityRole>>().As<IRoleStore<IRole>>();
        builder.Register(c => new RoleManager<IRole>(c.Resolve<IRoleStore<IRole>>()));

完整的错误消息:

类型“Microsoft.AspNet.Identity.EntityFramework.RoleStore”1[Microsoft.AspNet.Identity.EntityFramework.IdentityRole]' is not assignable to service 'Microsoft.AspNet.Identity.IRoleStore1[[Microsoft.AspNet.Identity.IRole,Microsoft.AspNet.Identity.Core,版本=1.0.0.0,文化=中性,PublicKeyToken=31bf3856ad364e35]]'。


参加聚会有点晚了,但这对我来说 Autofac 有用:

builder.RegisterType<RoleStore<IdentityRole>>().As<IRoleStore<IdentityRole, string>>();

我的完整模块供参考:

builder.RegisterType<UserStore<ApplicationUser>>().As<IUserStore<ApplicationUser>>();
builder.RegisterType<RoleStore<IdentityRole>>().As<IRoleStore<IdentityRole, string>>();
builder.RegisterType<ApplicationUserManager>();
builder.RegisterType<ApplicationRoleManager>();  

我正在使用 UserManager 和 RoleManager 的包装器

public class ApplicationUserManager : UserManager<ApplicationUser>
{
    public ApplicationUserManager(IUserStore<ApplicationUser> store)
        : base(store)
    {
    }
}

public class ApplicationRoleManager : RoleManager<IdentityRole>
{
    public ApplicationRoleManager(IRoleStore<IdentityRole, string> roleStore)
        : base(roleStore)
    {            
    }       
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

类型 RoleStore 不可分配给服务 IRoleStore 的相关文章

  • 如何更改更新数据库 ef 迁移的连接字符串?

    我正在尝试运行 Update Database 并且想指定连接字符串 但 CLI 正在查看错误的字符串 我的 appsettings json 文件中有两个连接字符串 Logging IncludeScopes false LogLevel
  • 为单个 Maven 项目创建两个工件(war)

    我有一个Java Web项目 我们部署在两个不同客户的服务器上 99 的代码是相同的 现在我有两个ApplicationBuilder 它是包含每个客户的定制的类 每当我想要部署新版本时 我都必须手动注释一行 构建 使用 Maven 取消注
  • 什么是依赖注入的 Pythonic 方式?

    介绍 对于 Java 依赖注入作为纯 OOP 工作 即您提供要实现的接口 并在框架代码中接受实现定义的接口的类的实例 现在对于 Python 您可以执行相同的操作 但我认为该方法对于 Python 而言开销太大 那么如何以 Pythonic
  • 如何在我的类型类中访问我的服务(DependencyInjection)?

    我创建了一个服务 DependencyInjection 并在控制器上将其用作 this gt get service name gt someMethod 我想知道如何在我的表单类上使用它 这是我的课程示例形式 namespace Com
  • 使用实体框架将枚举名称存储在数据库中

    public enum Currency EUR 1 USD 2 GBP 3 假设我有一个如上所示的枚举 如果我要使用实体框架 代码优先 来使用它 那么int值将存储在数据库中 不存储查找表 也不存储枚举值的字符串名称 这使得直接读取数据库
  • 无法使用 Hilt 注入 workmanager 构造函数

    我正在开发一个 Android 应用程序 我尝试将 hilt 与 workmanager 构造函数一起使用 但它不起作用并给出了此错误 2020 08 18 19 01 09 989 18125 18759 com E WM WorkerF
  • ProviderManifestToken 2008 或 2012

    应用程序 NET 4 5 C 使用 EF6 和数据库优先方法 支持 SQL Server 2008R2 2012 和 2014 这个问题是关于ProviderManifestToken自动生成的 edmx 文件的属性 根据使用哪个版本的数据
  • 在 MVC 中使用 DI 时的大量控制器构造函数参数列表

    我正在开发 ASP NET MVC3 解决方案 该解决方案使用 autofac 的依赖注入 我们的控制器由 autofac 正确创建 所有必需的对象都正确传入 这些对象通常包括服务 存储库和将域对象转换为 MVC 视图 模型的映射器 所以控
  • 将 Mockito 模拟注入 Spring bean

    我想将 Mockito 模拟对象注入到 Spring 3 bean 中 以便使用 JUnit 进行单元测试 我的 bean 依赖项当前是通过使用注入的 Autowired私有成员字段上的注释 我考虑过使用ReflectionTestUtil
  • User.Identity.GetUserId 是缓存还是每次都从数据库获取?

    我正在使用 ASP Net MVC 5 并且我在我的代码中调用这一行 string userId User Identity GetUserId ASP NET MVC 是否会在每次调用时从表中获取此数据 还是将其缓存 查看 Microso
  • 验证日期格式不起作用

    我在日期验证方面遇到问题 在我的视图中 我有一个 jQuery 日期选择器 我更改了格式yy mm dd to mm dd yy现在我收到客户端验证错误 例如 The value 02 25 2014 is not valid for Da
  • .net 4.5.1 ASP.NET MVC 5 中的用户锁定

    因此 在新的 Net Framework 4 5 1 AspNetUser 表中没有用于在有限次数的不成功尝试后将用户锁定的列 是否有为此目的构建的框架或解决方案来取代以前的 net 框架中曾经存在的功能 还是我必须自己构建 在即将发布的
  • 想要在 highcharts/highstock 中用鼠标滚轮移动 y 轴滚动条

    参考我想用鼠标滚轮移动 y 轴滚动条的问题 有什么办法可以做到吗 yAxis scrollbar enabled true showFull false 更新代码 下面是我更新的代码 var chart1 new Highcharts Ch
  • Ninject 绑定所有实现相同接口的类

    我有一个接口类 public interface IStartUpTask bool IsEnabled get void Configure 我有多个类实现相同的接口 其中一个类如下所示 public class Log4NetStart
  • 如何从实体框架 6 中的 Auditlog 实体获取 id

    我知道那里有几个类似的帖子 但我找不到任何解决此问题的帖子 我想在实体框架 6 中添加 更改或删除实体 软删除 时添加 某种 AudioLog 我已经覆盖了 SaveChanges 因为我只想为添加 修改或删除的 EntityStates
  • Windows 8 Metro 应用程序的依赖注入框架

    我似乎找不到 Windows 8 Metro 应用程序的依赖注入框架 win8 Metro应用程序有框架吗 Ninject 尚不支持 win8 Metro 那么有人有建议吗 城堡 春天 你可以尝试Unity 3 0 for NET4 5 预
  • 测试 - 存根服务方法未定义

    我已经在非常简单的代码上编写了一个非常简单的测试 但由于某种原因存根服务方法未定义 当我使用 Jasmine Spy 时 它可以工作 但对于这样一个简单的任务 有人可以解释一下为什么会发生这种情况吗 我删除了 import 语句只是为了减少
  • C 中的 N 依赖注入 - 比链接器定义的数组更好的方法?

    Given a 库模块 在下文中称为Runner 它作为可重复使用的组件 无需重新编译 即静态链接库 中应用程序分区架构的 而不是主分区 请注意 它仅包含main 出于演示目的 Given a set 顺序无关 调用的其他模块 对象Call
  • DI:IDisposable 对象的处理寿命

    所以我正在开发我的 DI IoC 容器OpenNETCF IoC http ioc codeplex com我有一个 合理的 功能请求 为容器集合中的 IDisposable 项目添加某种形式的生命周期管理 我目前的想法是 由于我无法查询对
  • 实体框架:无效的列名称 *_ID 1

    我正在尝试为几个名为 的表实现 DbContextEmployee and Department 员工和部门之间的关系是多对一的 即部门可以有很多员工 下面是我设计的EntityFramework类 CodeFirst方法 Table Em

随机推荐

  • 是否可以在控制器外部获取运行时的路线数据?

    我想知道是否有可能以某种方式获取控制器外部的路由值 这是我尝试过的 我也尝试过做 Values projectId 但我仍然得到null RoutePrefix projects public class UsergroupControll
  • 如何使用 ServiceStack JsonSerializer 序列化 ExpandoObject?

    是否可以让 ServiceStack JsonSerializer 将 ExpandoObject 序列化为平面对象而不是字典 大致类似于这样 x xvalue y Date 1313966045485 我正在尝试比较 JSON 序列化Ex
  • .NET 的 BBCode 或 wiki 标记库? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 您最喜欢用于处理以下任一问题的 NET 库是什么 BBCode http en wikipedia org wiki BBCode markup
  • 图标字体的正确字体显示值

    font display https www w3 org TR css fonts 4 font display desc是一个新的 CSS 属性 允许开发人员根据字体加载速度是否足够快来控制字体的呈现方式 已经有几篇文章介绍了 使用 f
  • 如何保证按一定顺序调用的AJAX请求得到相同顺序的响应?

    如何保证按一定顺序调用的AJAX请求得到相同顺序的响应 首先 请记住 服务器本身可能不会按照收到请求的顺序返回响应 想象一下 如果您首先触发一个复杂的 ajax 请求 然后触发一个简单的 ajax 请求 可能引用一些缓存的静态数据 第二个请
  • 如何使用 AndEngine (Android) 移动精灵对象

    我正在使用 andengine 在 android 中开发游戏 我在精灵中放置了一个对象 例如 this mTexture new Texture 32 32 TextureOptions BILINEAR PREMULTIPLYALPHA
  • 在 ubuntu 10 64 位上安装 java 时出错

    EDIT 我添加此注释是为了解释为什么我将这个问题保留在这里 我添加了 Android 作为关键字 我想知道其他人是否尝试过下载代码以及如何解决此问题 我担心如果我问 Ubuntu 他们会建议我使用 OpenJDK 但问题是 有人使用该 S
  • Tkinter:尝试点击离开时窗口闪烁

    我已经尝试这样做有一段时间了 但还没有找到方法 我有一个 tkinter 脚本 当按下按钮时会创建一个弹出窗口 但是 我不希望用户能够从该窗口单击到之前创建的任何窗口 我已经使用 root grab set 进行了此操作 但是没有任何迹象表
  • 如何在 Laravel 5.4 中将 base64 转换为图像?

    我正在 Laravel 5 4 中开发 api 我将收到 Base64 格式的图像 如何在 Laravel 中将 base64 转换为图像 该解决方案将处理所有图像类型 image request gt input image image
  • 将 Spring Boot Web 应用程序与 Pivotal TC Server 结合使用

    我从 Spring Tool Suite 内部将项目重构为 Spring Boot 应用程序 所有文档都展示了如何创建一个带有嵌入式 Tomcat 实例的自包含应用程序 该应用程序可以工作并且很棒 然而在此之前 我有自己的 Maven We
  • 使用 CSS 与使用列和行调整文本区域大小

    使用列和行调整文本区域大小与使用高度和宽度调整文本区域大小有什么区别
  • 如何将变量从一个 PowerShell 脚本加载到另一个?

    我有一个主脚本正在调用其他几个脚本 我需要将其他脚本中的变量加载到主脚本中 以便我可以将它们转储到 html 文件中 我尝试对我正在调用的脚本进行点采购 但这不起作用 或者我做错了什么 任何帮助 将不胜感激 脚本的示例部分 get clus
  • 在弹出窗口中打开 Google Play(如 Vimeo、Wisher、Buzzfeed)- 即时应用

    如何在 Wisher Buzzfeed Vimeo 等弹出窗口中打开 Google Play 我在看谷歌文档 https developer android com distribute marketing tools linking to
  • C# 以编程方式访问 Excel 宏

    我正在使用 Excel 文件的目录来获取有关每个文件的信息 我正在尝试使用 C Excel 互操作来收集有关与其中一些文件关联的 VBA 宏的信息 其代码如下 问题在于 所有 Excel 文件都没有启用对宏的编程访问 我可以在文件的本地副本
  • PHP - 如何替换 url 的特殊字符

    我正在尝试转换特殊字符 例如 我将使用它们来进行 GET 请求 我为此构建了一个函数 function convert text text t text specChars array gt 20 gt 21 gt 22 gt 23 gt
  • 如何将大于127的ASCII值发送到串口

    每当我将任何大于 127 的 ASCII 值发送到 com 端口时 我都会在串行端口上收到垃圾输出值 ComPort Write data 严格来讲ASCII http en wikipedia org wiki ASCII仅包含 128
  • 使用 WiX 将程序集放入 GAC 和安装路径中

    我刚刚开始学习如何使用 WiX 但遇到了障碍 我的软件包使用第三方库 该库要求 GAC 和软件包安装目录中都存在一些文件 使用 WiX 我可以使文件显示在安装目录或 GAC 中 但不能同时显示在两者中 有什么办法可以解决这个问题吗 这里有一
  • 在 C++ 中传递参数到 boost odeint

    This https stackoverflow com questions 33856910 passing runtime parameters to odeint integrator 答案很有帮助 但我想知道如何将不同类型的多个参数
  • 无需实现可克隆接口即可克隆对象

    要克隆对象 我需要实现 可克隆 接口吗 因为这里我的类是一个 jar 文件 我的意思是 API 所以我无法编辑课程 我听说所有类都扩展了基对象类 并且该对象类实现了可克隆接口 这是否意味着我们可以直接克隆对象而不实现接口 如果是这样 在我的
  • 类型 RoleStore 不可分配给服务 IRoleStore

    我正在尝试使用 Autofac 为使用 MVC5 和 EF6 的项目设置依赖项注入 我很难弄清楚如何正确解耦 EntityFramework RoleStore 实现 我只想依赖 Identity IRoleStore 但我知道对于泛型类