【问题标题】:Injecting a service into an implementation of NHibernate's IUserType using Autofac使用 Autofac 将服务注入到 NHibernate 的 IUserType 的实现中
【发布时间】:2011-04-27 13:47:51
【问题描述】:

我正在使用 NHibernate 将以下类映射到我的 ASP.NET MVC 应用程序中的 Oracle 数据库:

public class User
{
    // Needs to be encrypted/decrypted when persisting
    public virtual string Question { get; set; }
}

根据我找到的几个示例,我想使用 NHibernate 的 IUserType 的实现来转换我的数据,当它被持久保存到我的数据库 example 或从我的数据库中检索时。

由于我已经编写了一个EncryptionService 类来处理我应用程序其他部分的数据加密,我想将它注入到我的用户类型中。有没有办法使用 Autofac 对 IUserType 执行构造函数注入?

【问题讨论】:

  • 你能把你的问题统一一下吗?你说的是HashServiceEncodingServiceEncryptionService。这些应该是一样的吧?
  • 我又试了一次。这样更好吗?

标签: asp.net nhibernate autofac


【解决方案1】:

NHibernate 负责创建 IUserType 实现的实例。如果你想要这个可配置的,你可以从 AutoFac 容器中查询服务(显然这不是依赖注入,更多的是服务定位器)。或者您可以实现 IConfigurable,它允许您接收参数字典。其中一个参数可以是类名。

【讨论】:

  • 这就是我在我读过的所有例子中看到的。我希望它们只是过时了......
【解决方案2】:

【讨论】:

    猜你喜欢
    • 2016-09-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-10
    相关资源
    最近更新 更多