【问题标题】:DI CompositionRoot with multi service WCF Host具有多服务 WCF 主机的 DI CompositionRoot
【发布时间】:2012-05-22 08:15:35
【问题描述】:

我们正在开发一个自托管的 WCF 服务主机,它将根据配置动态加载服务。

我想知道我应该将每个服务视为一个迷你应用程序并在每个托管服务中使用组合根还是在服务主机本身上使用组合根?

非常感谢您的意见!

【问题讨论】:

    标签: .net wcf dependency-injection inversion-of-control


    【解决方案1】:

    每个服务都有一个组合根很好,但是如果可以的话,让你的 WCF 服务只包含 1 个服务和 2 种方法:一种允许您执行查询对象的方法,一种允许您执行命令的方法。这样,您的 WCF 服务仍将拥有一个组合根。

    为此,您需要将所有突变建模为commands/handlers,并将读取操作建模为query/handlers。完成此操作后,您将无需再对 SVC 进行任何更改。

    看看Silverlight Cookbook,它成功地使用了这种方法。看一下Main\Cookbook\Services.Host\CommandService.svc.cs,这是WCF服务的入口。

    这可能会彻底颠覆您的世界,但这种架构非常灵活、可扩展,并且可以显着降低维护成本。

    【讨论】:

    • 非常感谢您的意见。在过去的几个月里,我的世界被颠倒了很多次,赶上了编码的最新发展。我一定会看看 Silverlight Cookbok。我们正在使用 SimpleInjection DI 容器,顺便说一句,这是一项很棒的工作!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-08
    • 1970-01-01
    • 2011-12-31
    相关资源
    最近更新 更多