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

C# 当web服务更改桌面应用程序使用的方法签名时会发生什么情况?,c#,web-services,C#,Web Services,例如,web服务提供了两种方法 a(int a,int b) b(string str) 要提供一些服务和桌面应用程序,请使用这两种方法 几天后,由于任何原因,web服务更改了它的方法签名,桌面应用程序是否可能收到有关此更改的通知。谁能解释一下在这种情况下会发生什么 提前感谢朋友。这取决于变化。如果添加新方法,则客户端应用程序不应受到影响。当客户端调用这些方法时,对现有方法的更改肯定会破坏客户端。最好的解决方法是在web服务上创建一个返回服务器版本号的方法。然后,您可以决定客户端在版本更改时

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

a(int a,int b)

b(string str)
要提供一些服务和桌面应用程序,请使用这两种方法

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


提前感谢朋友。

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


通过使用ServiceDescriptionImporter和动态调用web服务器方法,您可以解决一些问题,但我看不出这对您有什么帮助,因为客户端需要修改,以了解如何处理新方法、何时调用它们以及向它们传递什么信息等等。

如果方法签名发生更改,这肯定会影响桌面应用程序。如果不处理错误,可能会出现一些错误。您还应该更改桌面应用程序。