2011-10-05 67 views

回答

0

這取決於變化的,你在服務定義應用性質。如果您添加了一些可選項,只有新客戶端可以使用,但舊客戶端可以忽略,則您已經引入了向後兼容更改,因此除非客戶決定使用此新功能,否則不應更新客戶端。任何影響現有客戶端使用服務方式的更改都需要客戶端更新,因爲它代表了重大更改。

在WCF的情況下,如果你使用的最新版本4.0,它引入了一個新的協議實現WS-Discovery,其中可以幫助客戶找到服務的URL,他們可以用正確的版本。例如,使用這種方法,可以在不同的URL中部署新版本,客戶端應用程序可以自動發現它。

問候 巴勃羅。

1

你一定要讀Service Versioning - 它擁有你所需要的信息。

但回答你的問題是:也許

有兩種類型的變化:破壞和不破壞。不幸的是,有時不清楚什麼是突破性或非突破性的變化,因爲它可能取決於客戶在做什麼(並且您可能不知道如何使用您的服務)。

就改變服務地點而言,這通常是一個重大改變。然而,正如你所提到的,如果客戶使用UDDI,那麼他們應該能夠檢索新的端點位置,並且這種改變不會是一個突破性的改變。

如果添加另一個參數,那麼這可能是一個突破性變化(或者可能不是)。如果參數是可選的,並且客戶端使用寬鬆版本(例如WCF,.asmx),那麼更改不應該是一個突破。但可能是客戶端需要一個非常特定的格式,或者他們正在進行一些模式驗證等,而可選參數可能會導致失敗。

0

嘿沒有完全理解你的問題,並從我可以從你的questino得到它聽起來像你需要更新客戶端上的Web引用。

如果你已經更新了你的引用,沒有改變位置: 所以加載你的客戶端解決方案,然後找到你的引用(而不是dll引用),但Web /服務引用,然後右鍵單擊並選擇「更新Web引用「

如果你已經改變了位置,你可以,如果你去的屬性更改端點,但我只想刪除現有的一個,並使用新的位置一個新的。

希望它有幫助。

欲瞭解更多信息請查看http://msdn.microsoft.com/en-us/library/bb628652.aspx

相關問題