【问题标题】:Customizing MVC ASP.NET Identity 2.0 without DbContext?在没有 DbContext 的情况下自定义 MVC ASP.NET Identity 2.0?
【发布时间】:2014-07-28 08:20:29
【问题描述】:

我有一个使用 WCF 服务的 MVC 5.0 应用程序,并且我在 UI 层中没有 DbContext。但在 ASP.NET Identity 2.0 中,我们必须拥有 DbContext。
是否可以自定义 ASP.NET Identity 2.0 以使用我们的某些服务而不是 DbContext ?

【问题讨论】:

  • 检查 Implementing ASP.NET Identity by Scott Allen 可能会对您有所帮助
  • 好问题。我确实在同样的问题上挣扎,最后放弃了。对于身份,我必须在解决方案的所有项目中添加 EF 和 DbContext。我没有找到避免将 EF 添加到我的 UI 层的好方法 -(

标签: asp.net asp.net-mvc wcf customization asp.net-identity


【解决方案1】:

执行此操作的一种方法如下。

您必须创建一个 customclass 并定义保存 WCF 服务数据的属性并从 IdentityDbContext<ApplicationUser> 继承此类
从这里您可以使用属性获取器从 WCF 服务中获取数据。
下面是示例代码。它未经测试,但可能会对您有所帮助。

public class CustomClass : IdentityDbContext<ApplicationUser>
{
    private DbSet<Users1> wcfDataHolder;

    public DbSet<Users1> WcfDataHolder
    {
        get
        {
            // Write your WCF code here
            // wcfDataHolder = dataFromService
            return wcfDataHolder;
        }
        set { wcfDataHolder = value; }
    }
}


这里有两点需要注意。

  1. 我们是否应该在该类中使用静态创建函数来返回您的customClass 的实例?
  2. 我们应该将任何数据库连接传递给基类吗?

答案

  1. 据我所知,您不应该使用 create 方法,因为据我了解创建实例不是您的要求。
  2. 传递连接不会破坏某些东西,但这不是最佳解决方案,但不传递将使用 web.config 中的默认连接字符串。所以我建议不要通过它。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-23
    • 2017-03-14
    • 2015-07-10
    • 1970-01-01
    • 1970-01-01
    • 2018-08-03
    相关资源
    最近更新 更多