2009-09-02 105 views
0

我使用IIS7來託管WCF服務,因此對服務端點地址的請求將被轉發到正確的svc文件。很明顯,客戶端配置必須指定它希望使用的服務的端點地址,但爲什麼我需要在服務配置中指定服務的端點地址(如果我不這樣,它會引發異常)?爲什麼你需要指定WCF服務的端點地址?

這是一個煩惱,因爲我想有一個Web場中的多臺計算機上運行相同的服務。

回答

3

從一個網絡點,這時候你會使用負載平衡器。你有有某種地址可以找到提供服務的機器。這與用於定位Web服務器的URL的DNS部分或用於定位X服務器的變量並無不同。

負載均衡器可以讓你用,然後可以傳遞到在後端許多實際的服務器中的一個單一的地址,假設,當然,這並不重要,其服務器業務的請求。

如果你更多談論的WCF地址,這是一個終點,類似於TCP/IP端口。

它需要多個WCF服務之間的區別。您可以爲您的特定結構提供多個端點,因此需要將它們分開。

通常最好是小於更強的適應性。

+0

感謝您的回覆。我已經更新了我的問題,試圖更清楚一點。我正在談論服務端點地址,而不是客戶端。爲什麼地址需要區分服務? IIS路由到特定的svc,指向實現服務的類。 – JontyMC 2009-09-02 16:35:11

1

我的確有同樣的擔憂。如果我知道要使用的端點的地址,爲什麼我需要在端點中明確指定該地址。最近我創建了webHttpBinding端點而沒有指定地址,並且我能夠成功訪問該合同。這項服務被託管在asp.net開發服務器的一部分。在IIS下託管時需要的地址是什麼?或地址是必需的任何其他綁定,如wsHttpBinding,TCPBinding等?

0

爲了讓更廣泛的客戶訪問不同於.Net平臺的服務,必須有一個統一的方式告訴客戶:「嘿,夥計,在這裏,我是你正在尋找的確切服務。你可以找到我在這個位置(即地址),連接到我這麼些協議(ieBinding),這是合同的我們的通信標識。」 因此,簡而言之,終端有必要讓客戶知道可以找到服務的位置。

現在你的情況,你知道端點,因此你可以配置客戶端。但對於那些不知道這一點的客戶,必須要接近服務。端點是一種類似於客戶服務的名片