0

这是我的服务和域层的解决方案结构

首先请告诉我,就架构而言,这种解决方案结构是否良好?我有XXXX。在中心的商业项目。XXXX。合同项目有参考。XXXX。服务项目有合同和商业项目的参考。

现在我希望我的服务托管在灵活的环境中。这就是为什么我想将自定义托管逻辑放在 Service > Host 文件夹中。该项目还将具有自定义实例提供工具,以便可以使用一些参数构造函数创建我的服务类。另外我需要有不同类型的端点,所以我还有一个 Bindings 文件夹

这 3 个自定义的东西目前足以满足我的要求。

现在请为我提供一些 Bindings/Host/Instance 的示例代码片段

4

1 回答 1

1

我不知道你是什么意思

我希望我的服务托管在灵活的环境中

我想将自定义托管逻辑放在 Service > Host 文件夹中

使用的托管容器类型取决于服务实现所引用的项目类型(Web、控制台、Windows 服务等)。这不是您想要捆绑到一个项目中的东西,您应该有一个不同的项目(或甚至是不同的解决方案)针对每个不同的服务实例。

这导致了您的通用解决方案结构。通过将合同作为项目放置在您的解决方案中,您将合同程序集构建(以及可能的部署)耦合到解决方案的构建和部署。理想情况下,合同应该在自己的解决方案中,以便可以与您的服务实施分开构建和管理它们。如果有时您需要维护合约的多个版本怎么办?

我认为您创建对任何人都可以是任何东西的通用服务的方法太复杂了。您应该让 WCF 为您处理此类工作,至少为您的每个服务实现创建一个不同的项目,并将绑定管理推迟到部署时。

此外,除非您正在编写自己的自定义绑定代码,否则您不需要用于绑定的文件夹。

当您交付端点时,可以(并且应该)在配置中定义绑定,并且在某种程度上,关于使用哪个传输绑定的决定应该是管理或管理而不是开发问题。

于 2013-04-15T11:13:32.950 回答