2

试图真正“获得”端点合同:

我了解提供不同的端点来支持不同的绑定,但是什么时候会为服务定义 n 个端点并使用不同的合同?似乎在大多数情况下(bar IMetadataExchange),无论协议如何,端点合同都是相同的,不是吗?

如果大多数情况下所有端点的合同都是相同的,那么在父服务而不是每个端点上定义服务合同是否过于简单(为什么?),同时允许一个在需要时覆盖端点(例如:IMetadataExchange)。

感谢您帮助解决让我彻夜难眠的小问题;-)

4

1 回答 1

2

好的,好吧 -您在标记中定义的服务是实际的实现代码 - 构成服务的实际 C# 或 VB.NET 行。因此,它是一个具体的类(甚至可能实现多个服务契约)。这只是服务器端。<service>

然而,端点是服务器和客户端之间的通信通道,在这两者之间,您只想共享合同-而不是该合同的任何具体实现。端点只会用于单个服务合同 - 如果您的具体服务实现多个合同,您需要向客户端公开多个端点以提供所有这些功能。

这会让事情变得更清楚吗?

于 2012-08-10T04:48:18.550 回答