.net 具有多服务WCF主机的DI CompositionRoot

.net 具有多服务WCF主机的DI CompositionRoot,.net,wcf,dependency-injection,inversion-of-control,.net,Wcf,Dependency Injection,Inversion Of Control,我们正在开发一个自托管WCF服务主机,它将根据配置动态加载服务 我想我应该把每个服务看作是一个迷你应用程序,在每个托管服务中使用组合根,或者在服务主机自身上使用组合根? 非常感谢您的意见 每个服务都有一个组合根是可以的,但是如果可以,让您的WCF服务只包含1个服务和2个方法:一个方法允许您执行查询对象,另一个方法允许您执行命令。这样,您的WCF服务仍将有一个合成根 要做到这一点,您需要将所有突变建模为,并将操作读取为。完成此操作后,您再也不必对SVC进行任何更改 请看一看,它成功地使用了这种方法

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

我想我应该把每个服务看作是一个迷你应用程序,在每个托管服务中使用组合根,或者在服务主机自身上使用组合根?
非常感谢您的意见

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

要做到这一点,您需要将所有突变建模为,并将操作读取为。完成此操作后,您再也不必对SVC进行任何更改

请看一看,它成功地使用了这种方法。看看,它是WCF服务的入口点


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

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

要做到这一点,您需要将所有突变建模为,并将操作读取为。完成此操作后,您再也不必对SVC进行任何更改

请看一看,它成功地使用了这种方法。看看,它是WCF服务的入口点


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

非常感谢您的投入。在过去的几个月里,我的世界被颠覆了很多次,赶上了编码的最新发展。我一定会看看Silverlight Cookbok。我们正在使用SimpleInjection DI容器,这是一项伟大的工作!非常感谢您的投入。在过去的几个月里,我的世界被颠覆了很多次,赶上了编码的最新发展。我一定会看看Silverlight Cookbok。我们正在使用SimpleInjection DI容器,这是一项伟大的工作!