【问题标题】:Castle Wcf facility self hosting - Repository lifestylesCastle Wcf 设施自托管 - 存储库生活方式
【发布时间】:2013-07-24 09:15:45
【问题描述】:

我在 Windows 服务上使用 Castle windsor 自行托管我的 WCF 服务。在此之前,我将它们托管在 IIS 上,并将我的存储库对象(遵循存储库模式,使用 EF 5.0 作为 ORM)注册为 PerWebRequest。它在 IIS 上托管时工作,因为我能够在 Web.Config 文件中添加以下行 -

  <system.webServer>
  <modules>
     <add name="PerRequestLifestyle" type="Castle.MicroKernel.Lifestyle.PerWebRequestLifestyleModule, Castle.Windsor" />
  </modules>

但现在这是自托管。我无法添加上述模块。我认为这是在 WCF 服务中使用 PerWebRequest for Repositories 的推荐方法,否则它可能会产生上下文和事务问题。那么有没有其他类似于 PerWebRequest 的生活方式可以让我在进行自我托管时使用?或者请告知我的假设是否错误?

提前致谢

更新

我测试了将存储库作为瞬态生活方式注册到容器中,但插入或更新失败。因为每次它从容器中请求对象时,它都会返回一个新对象,所以基本上失去了我的 DbContext 对象。有没有人和我遇到过类似的问题?

【问题讨论】:

    标签: c#-4.0 castle-windsor repository-pattern self-hosting


    【解决方案1】:

    你看过内置WCF Facility lifestyles吗?

    【讨论】:

    • 感谢您的回复。我已经在自托管服务时应用了 wcf 设施生活方式,但我正在寻找服务层内的东西。我正在注册所有存储库对象,我需要为每个对象分配生活方式。这就是我受到打击的地方。
    • 我的错。我重新检查了 WCF 设施的生活方式,并添加了对存储库项目的引用。在那之后,我能够看到 PerWcfOperation 的生活方式。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多