2009-01-23 57 views
2

我有兩個webservices具有完全相同的方法和簽名,但指向不同的服務器(特別是虛擬地球生產和分段環境)。我希望在配置設置的基礎上切換使用生產和登臺服務,而不想重複自己,並複製每個我稱爲其中一項服務的方法。Web服務的接口?

所以我需要的實際上是創建一個接口,這兩個服務都可以實現和編程。但我不知道這是可取的甚至可能的。

或者我只需要引用其中一個服務並根據是否要使用生產環境或臨時環境切換url屬性?

回答

3

如果我理解你是正確的,你有一個webservice部署在生產環境和登臺環境中。在這種情況下,您唯一需要做的就是通過Url屬性在它們之間切換。

1

我只是把我的接口wcf服務放入一個單獨的程序集,並從客戶端和服務器引用此程序集。
我爲wcf服務使用此中央接口,模擬wcf服務以及所有客戶端,並且可以交換連接。

我想你使用SvcUtil來創建你的客戶端類?我不。我創建了一次接口,並使用它們通過使用此服務合同的ChannelFactory創建服務。

也許把你的服務合同放到一個單獨的程序集中,並使用ChannelFactory創建代理將幫助你?

當然,如果只是服務URL正在改變,您可以在配置文件中更改它。

+0

我做同樣的事情。通常手動構建的代理等是要走的路。 – 2009-01-23 17:43:33