【问题标题】:DbContext 'InRequestScope' doesn't work for custom membership providerDbContext 'InRequestScope' 不适用于自定义成员资格提供程序
【发布时间】:2012-08-22 01:10:38
【问题描述】:

我正在实现一个自定义 ASP.NET 成员资格提供程序,该提供程序基于自定义存储库类运行,该存储库类又使用实体框架 DbContext 作为访问数据的手段。

因为这是一个 ASP.NET MVC 应用程序,所以 IoC 容器 (Ninject) 被设置为解析我的 DbContext InRequestScope 的实例。

我的用户数据表是单个主 DbContext 的一部分。

Repository 类也必须在 InRequestScope 中实例化。但是repository类是为了满足自定义MembershipProvider的需要而创建的,不能设置为实例化InRequestScope。结果,每当我尝试通过存储库访问角色数据时,我都会得到 DbContext 已处置异常。

有没有人设置了类似的配置,如果有,有什么不同的实施方式来解决我遇到的问题。谢谢。

【问题讨论】:

标签: asp.net-mvc entity-framework asp.net-membership repository


【解决方案1】:

允许我继续项目开发的解决方法是在 Membership Provider 构造函数中手动创建 DbContext 的实例,而不是让 Ninject 注入它。

也许有人最终会想出一个更好的方法来解决这个特定的问题,请在此处发布,我会将其标记为答案而不是此解决方法。

【讨论】:

  • 刚刚偶然发现了我自己的问题,但我的答案仍然很好。我的回购生命周期管理可能有问题。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-08-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多