1

大家好,我是 WCF 的新手,我想知道我是否使用通道工厂,如果我对服务合同进行任何更改,这些更改是否会在客户端系统中自动更新???如果更改自动更新如何? ??

4

1 回答 1

2

不,通道工厂不会自动更新 - 您必须更新您的服务引用(如果您使用 Visual Studio 的添加服务引用添加它),或者您需要从 WSDL/XSD 或服务 URL 重新创建客户端代理。

更新:当然,如果您在服务和客户端之间的程序集中共享服务和数据合同,那么一旦有了新的服务合同 DLL,您当然就可以让客户端保持最新状态。 .

如果要启用服务和数据合同的这种共享,请使用以下设置:

  • 在您的合同程序集中,拥有所有服务合同(接口)和数据合同(数据类型)

  • 在您的服务实施中,引用该Contracts程序集并实施服务合同

  • 在您的客户端代理中,还引用该共享Contracts程序集,并ChannelFactory<T>用于为服务合同接口创建通道工厂T

使用此设置,每当您对共享合同程序集进行更改时,服务实现和客户端代理都将“获取”这些更改,例如它们始终是最新的并使用相同的服务和数据合同

于 2010-06-04T11:21:50.040 回答