我构建了一个简单的客户端 - 服务器应用程序。当我对服务器进行更改时,我会删除服务引用并重新创建它以反映我对服务器应用程序所做的更改。
每次更改服务器应用程序时,是否必须重新创建它,或者是否有任何方法可以自动更新服务引用?
由于
答案 0 :(得分:2)
基本答案可能是:是的。
WCF和分布式应用程序的优点在于客户端和服务器可以单独发展。更新客户端以利用更新版本的服务应该是有意识的选择。
当然,在开发过程中,这可能是一种痛苦。有几种方法可以缓解这个问题,这里有一些我能想到的:
肯定会有更多(甚至可能更好)的方法,但这些方法可能对您有帮助。
答案 1 :(得分:2)
取决于,
如果你所做的只是在不改变现有功能的情况下添加功能,而客户端不需要新功能,那么答案就是否。
这是' IsRequired'背后的理念。 DataMember属性属性。如果您向数据协定添加新的数字,但将其标记为IsRequired = false,则现有系统仍然可以使用旧协议与服务器连接。
显然,添加新方法也不会破坏旧合同,客户也不会知道新方法。
答案 2 :(得分:1)
目前我在项目中面临同样的问题。
当我添加一些方法或更改服务中数据成员的属性时,我必须更新服务引用,否则我的客户端无法使用更新的东西。
基本上,如果你在服务中添加任何方法并且你没有更新服务引用那么它的代码就不会崩溃,它会像以前一样工作,但是如果你改变了一个属性(数据成员),你就会被绑定更新服务引用,否则您的代码将中断。