Dot-Net
WCF 使用電腦名稱而不是 IP 地址,無法解析
我有一個在 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 訪問。