当Web服务更改桌面应用程序使用的方法签名时会发生什么?

时间:2014-05-05 06:16:18

标签: c# web-services

例如,Web服务提供了两种方法,

a(int a,int b)

b(string str)

提供一些服务和桌面应用程序使用这两种方法。

几天之后,由于任何原因,Web服务更改了它的方法签名,桌面应用程序可能会收到有关此更改的通知。谁能解释在这种情况下会发生什么?

先谢谢朋友们。

1 个答案:

答案 0 :(得分:0)

这取决于变化。如果添加新方法,则不应影响客户端应用程序。在调用这些方法时,对现有方法的更改肯定会破坏客户端。解决此问题的最佳方法是在Web服务上创建一个返回服务器版本号的方法。然后,您可以决定客户端在版本更改时要执行的操作。在这种情况下,最好的做法可能是下载客户端的更新并安装它。

您可以通过使用ServiceDescriptionImporter并动态调用Web服务器方法解决一些问题,但我无法看到这对您有何帮助,因为需要修改客户端以了解如何处理新方法,什么时候打电话给他们,以及传递给他们的信息等等。