【问题标题】:How to provide dependency injection via StructureMap for a custom role provider with WCF?如何通过 StructureMap 为具有 WCF 的自定义角色提供程序提供依赖注入?
【发布时间】:2010-01-09 12:52:46
【问题描述】:

我们将在 WCF 中使用自定义角色提供程序。被覆盖的方法 GetRolesForUser 将需要使用已经存在的 RoleRepository。

现在,对于普通类,我们将使用 StructureMap 构造它,并且 RoleRepository 依赖项将通过构造函数注入。

但是,WCF 负责构建自定义角色提供程序类,并且通过 web.config 中的 roleManager 属性明确地“完成”。

我真的不想将 RoleRepository 依赖硬连接到自定义角色 probvider 类中,但看起来我必须这样做。

有什么想法吗?

【问题讨论】:

    标签: wcf dependency-injection structuremap roleprovider


    【解决方案1】:

    RoleProvider 和相关类型是 ASP.NET 的遗留物,因不适合 DI 而臭名昭著。它们需要一个默认构造函数,并且没有提供用于初始化它们的钩子。很烂,但就是这样。

    在这种情况下,最好的补救措施是将 RoleProvider 实现为 Humble Object。换句话说,RoleProvider 必须连接所有依赖项,但从那里,它将所有实现委托给您自己的开放和可扩展 API。

    【讨论】:

      猜你喜欢
      • 2016-04-23
      • 1970-01-01
      • 1970-01-01
      • 2014-11-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-11-02
      相关资源
      最近更新 更多