2014-10-16 65 views
0

如果我在IIS中託管公共可用的WCF Web服務,應該如何配置端點地址?我想我可以使用:我應該在WCF服務的端點地址中使用localhost嗎?

<endpoint address="http://localhost/MyService" ... /> 

<endpoint address="http://example.com/MyService" ... /> 

在這兩種情況下,另一臺機器上的客戶端必須使用第二個選項爲其客戶端綁定。

如果我使用Visual Studio創建客戶端,兩個服務器綁定似乎都可以正常工作。但是,我認爲在第一個選項中使用Powershell中的new-webserviceproxy時遇到了問題。

在服務器上使用哪一個是否重要?

回答

1

MSDN: Specifying an Endpoint Address

必須使用相對端點地址爲IIS託管服務端點。提供完全限定的端點地址可能會導致服務部署出現錯誤。有關更多信息,請參見Deploying an Internet Information Services-Hosted WCF Service

從該鏈接:

當託管在IIS ,端點地址總是被認爲是相對於.svc文件表示服務的地址。例如,如果WCF服務的基地址是http://localhost/Application1/MyService.svc且具有以下端點配置。

<endpoint address="anotherEndpoint" .../> 

這提供了可以在http://localhost/Application1/MyService.svc/anotherEndpoint

+0

這是一個非常好的一點,我的文檔中錯過了到達終點。我正在使用自託管服務的配置作爲我的出發點。如果在IIS中使用絕對URL,我希望WCF會引發錯誤。 – acfrancis 2014-10-16 16:13:04

相關問題