如果我有一个Web serice和一个客户端使用这个webservice,然后我改变了服务位置,或者我添加了另一个参数,那么通常的方法是更改客户端? 您是否需要更新客户端/ UDDI是否有助于解决这种情况?如果您更改WCF服务您是否还需要更改客户端?
回答
这取决于变化的,你在服务定义应用性质。如果您添加了一些可选项,只有新客户端可以使用,但旧客户端可以忽略,则您已经引入了向后兼容更改,因此除非客户决定使用此新功能,否则不应更新客户端。任何影响现有客户端使用服务方式的更改都需要客户端更新,因为它代表了重大更改。
在WCF的情况下,如果你使用的最新版本4.0,它引入了一个新的协议实现WS-Discovery,其中可以帮助客户找到服务的URL,他们可以用正确的版本。例如,使用这种方法,可以在不同的URL中部署新版本,客户端应用程序可以自动发现它。
问候 巴勃罗。
你一定要读Service Versioning - 它拥有你所需要的信息。
但回答你的问题是:也许。
有两种类型的变化:破坏和不破坏。不幸的是,有时不清楚什么是突破性或非突破性的变化,因为它可能取决于客户在做什么(并且您可能不知道如何使用您的服务)。
就改变服务地点而言,这通常是一个重大改变。然而,正如你所提到的,如果客户使用UDDI,那么他们应该能够检索新的端点位置,并且这种改变不会是一个突破性的改变。
如果添加另一个参数,那么这可能是一个突破性变化(或者可能不是)。如果参数是可选的,并且客户端使用宽松版本(例如WCF,.asmx),那么更改不应该是一个突破。但可能是客户端需要一个非常特定的格式,或者他们正在进行一些模式验证等,而可选参数可能会导致失败。
嘿没有完全理解你的问题,并从我可以从你的questino得到它听起来像你需要更新客户端上的Web引用。
如果你已经更新了你的引用,没有改变位置: 所以加载你的客户端解决方案,然后找到你的引用(而不是dll引用),但Web /服务引用,然后右键单击并选择“更新Web引用“
如果你已经改变了位置,你可以,如果你去的属性更改端点,但我只想删除现有的一个,并使用新的位置一个新的。
希望它有帮助。
欲了解更多信息请查看http://msdn.microsoft.com/en-us/library/bb628652.aspx
- 1. 如何更改不影响客户端的WCF服务合同?
- 2. 您是否需要更改以PHP结尾的HTML文档
- 3. WCF - 是否需要验证客户端的服务证书?
- 4. 客户端使用WCF服务是否需要接口定义?
- 5. HTML5:我是否需要在客户端和服务器端验证Webform,还是只需要客户端?
- 6. 如何使您的WCF服务专属于您自己的客户端?
- 7. 您可以通过WCF服务向客户端发送数据,而无需客户端调用该服务?
- 8. Java web服务客户端,动态更改客户端证书
- 9. 如何更改WCF服务端点?
- 10. 如果您有LDAP,JCE是否需要?
- 11. 更改wcf客户端的xmlSerializer tempFilesLocation
- 12. 如果您正在使用服务人员,您是否还需要缓存控制标题?
- 13. 如果您在App Store上更改您的应用程序名称,那么短链接是否会更改?
- 14. 如果您购买了install4j,您是否需要exe4j?
- 15. 在服务器端更改后,也在客户端更改图像
- 16. 是否可以更改WCF服务而无需重新生成客户端代理和重新编译?
- 17. 您能否将Web服务的进度暴露给客户端 - WCF
- 18. 更改SQL云托管服务器时是否需要更改代码?
- 19. 更改WCF服务以要求SSL
- 20. 从您的帐户更改为客户名称
- 21. ViewState和客户端更改
- 22. 在客户端更改radnumerictextbox
- 23. 是否需要更改Google静态地图版本的API密钥,客户端ID和/或签名更改
- 24. 更改WCF服务的Bindng?
- 25. 如果您要自动更改选中的值,条件变量是否仍然需要互斥锁?
- 26. asp.net - 客户端控制更改未见服务器端
- 27. 服务器端不会在客户端看到更改
- 28. 在客户端更改服务器端OnClientclick到jQuery
- 29. GWT RequestFactory并将服务器端更改传播到客户端
- 30. 服务器端读取标签客户端更改