Dot-Net

WCF 使用電腦名稱而不是 IP 地址,無法解析

  • May 19, 2015

我有一個在 LAN 上執行良好的 WCF 服務,但是當嘗試從服務引用外部訪問它時失敗。

我的 WCF 服務託管在使用靜態 IP 無域的 win2k3 機器上。

這對我有用。在配置文件中

< serviceHostingEnvironment multipleSiteBindingsEnabled="true" />
< / system.serviceModel >

如果它設置為 false,我得到了那個瘋狂的電腦名替換。

multipleSiteBindingsEnabled="true" 似乎這是我必須做的一切才能正常工作。

我正在研究一種從 HTTP 請求重用 Host 標頭的方法。在我看來,這應該在開發中像在生產中一樣工作。

事實證明很簡單:

<behaviors>
   <serviceBehaviors>
      <behavior name="...">
        ...
        <useRequestHeadersForMetadataAddress />
      </behavior>
   </serviceBehaviors>
</behaviors>

這樣,如果客戶端可以訪問 WSDL 端點,這將確保所有關聯的 wsdl/xsd 資源都可以使用相同的基本 url 訪問。

引用自:https://stackoverflow.com/questions/6863464