2011-03-24 70 views
0

在WCF■设计编码标准,它说: “不要复制代理代码如果两个或多个客户端使用相同的合同,该因素代理一个单独的类库。” 我想知道什么是上述国家的优势在哪里?代理代WCF

回答

3

除了DRY(不要重复自己)的一般原则,它避免了多种类型具有相同名称和成员的潜在的混乱。

当然,如果你的两个或多个客户端是完全独立的(单独的Visual Studio解决方案),这是确定每一个都有自己的代理。

+0

是全部是分开/独立的应用程序。 – NDeveloper 2011-03-24 09:01:41

+0

那么你可以有一个“通用”库,在这里你可以隔离常见的行为。 – DaeMoohn 2011-03-24 09:50:10

1

对我来说,这意味着如果您在多个地方使用代理方法,不重复的代码,而不是将其移动到一个单独的类。例如,如果因为操作已更改而重新生成代理,则必须在使用该操作的任何地方更改代码。如果该操作仅用于一个地方,则代码更易于维护。

这也是封装代理的使用,确保代理被正确使用的好办法(完时,通道被关闭,妥善处理异常,通道中止如果异常捕获等)。

我建议,如果你要使用你没有使用Visual Studio添加服务引用生成代理的代理方式。如果可能,请考虑使用ChannelFactory实现。