如果我有一個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. 您是否需要更改以PHP結尾的HTML文檔
- 2. 客戶端使用WCF服務是否需要接口定義?
- 3. Java web服務客戶端,動態更改客戶端證書
- 4. 如何更改WCF服務端點?
- 5. 更改wcf客戶端的xmlSerializer tempFilesLocation
- 6. 如果您有LDAP,JCE是否需要?
- 7. 如果您正在使用服務人員,您是否還需要緩存控制標題?
- 8. 是否可以更改WCF服務而無需重新生成客戶端代理和重新編譯?
- 9. 更改SQL雲託管服務器時是否需要更改代碼?
- 10. 您能否將Web服務的進度暴露給客戶端 - WCF
- 11. ViewState和客戶端更改
- 12. 日期字段值從客戶端更改爲服務器端
- 13. 更改WCF服務的Bindng?
- 14. 如果您要自動更改選中的值,條件變量是否仍然需要互斥鎖?
- 15. 如何更改URL Websocket NodeJs(服務器/客戶端)
- 16. 更改PrimeFaces對話是在客戶端
- 17. 如果我有1個服務器和多個客戶端,是否需要SocketServerChannel?
- 18. 當您更改innerHTML屬性
- 19. JSONP是否需要修改服務器?
- 20. Rails如何檢查session_id cookie是否被客戶端更改
- 21. 通過WCF傳遞對象,以便服務器接收客戶端更改
- 22. 在WCF RIA中同步從服務器到客戶端的集合更改Silverlight
- 23. WCF服務客戶端
- 24. 您每次更改黑莓模擬器都需要退出嗎?
- 25. 是否無法爲客戶端永久更改客戶端的Web代碼?
- 26. 您可以更改客戶端登錄到哪個Subversion存儲庫嗎?
- 27. 在元素更改時,是否需要更改CSS屬性?
- 28. 需要將消息推送到客戶端的WCF服務
- 29. 需要幫助的PHP客戶端.net WCF的web服務
- 30. WCF客戶端+ Windows服務+ ISA =(407)需要代理驗證