回答
經過一番挖掘,我找到了答案 - 這裏是我發現的希望它可以節省別人一些時間和麻煩。
1)添加到IP端點地址&添加主機名,象這樣的基礎IP地址:
<endpoint
address="http://xx.xx.xx.xx/ServiceApp/Service.svc"
binding="basicHttpBinding" contract="IService">
</endpoint>
<host>
<baseAddresses>
<add baseAddress="http://xx.xx.xx.xx/ServiceApp/" />
</baseAddresses>
</host>
過去,這是足以讓我的服務引用的工作,但迪斯科文件啓動與計算機名稱而不是IP返回(我認爲這是更新到.NET 4.0後)。
2.)如果你有一個域名(www.myDomain.com),然後將其添加到IIS中的主機頭。
3)IP地址&計算機名稱添加到客戶端的主機文件(容易解決並不總是能夠得到所有你的客戶把它添加到他們的但主機文件)
4)的最佳解決方案我發現了落實ServiceHosts工廠屬性按照「Timetheos」的帖子在這裏:http://social.msdn.microsoft.com/Forums/en-US/wcf/thread/c7fd51a2-773e-41d4-95a0-244e925597fe
這對我的工作和我可以測試本地發展&調試我的服務庫中,然後使用服務應用服務部署到我dev服務器,並且在發佈它之後不必更改任何配置文件。
這整個過程是一場完全的噩夢,我不希望任何人如此,如果你處於相同的情況,需要了解上述要點的信息,請聯繫!
嗨baileyswalk, 當我改變它的IP地址,它問我的用戶名和密碼,當我提供它不連接 –
這是我工作的。在配置文件
< serviceHostingEnvironment multipleSiteBindingsEnabled="true" />
</system.serviceModel >
如果它被設置爲false,我正在得到那個瘋狂的computername替換。
multipleSiteBindingsEnabled="true"
似乎是我必須做的所有這些工作,因爲它應該。
像這樣設置服務終點和httpgeturl。
<services>
<service behaviorConfiguration="serviceBehaviour" name="Demo.Service.MultiEndPointsService">
<endpoint address="http://192.168.1.2/Demo.Service/MultiEndPointsService.svc/basic" binding="basicHttpBinding" bindingConfiguration="basicBinding" contract="Demo.Service.MultiEndPointsService" />
</service>
</services>
<behaviors>
<serviceBehaviors>
<behavior name="serviceBehaviour">
<serviceMetadata httpGetEnabled="true" httpGetUrl="http://192.168.1.2/Demo.Service/MultiEndPointsService.svc/basic"/>
<serviceDebug includeExceptionDetailInFaults="false" />
</behavior>
</serviceBehaviors>
</behaviors>
我正在尋找一種方法來重用HTTP請求中的主機頭。在我看來,這應該像生產一樣發展。
原來是一樣簡單:
<behaviors>
<serviceBehaviors>
<behavior name="...">
...
<useRequestHeadersForMetadataAddress />
</behavior>
</serviceBehaviors>
</behaviors>
這樣,如果WSDL端點是一個客戶端可以訪問這保證了所有相關的WSDL/XSD資源將具有相同的基本URL訪問。
謝謝這對我有效 –
您可以在基本URL中的本地主機或計算機名的位置使用星號*(通配符),像這樣:
<add baseAddress="net.tcp://*:4502/WxWcfService_01" />
- 1. 使用SignalR與IP地址而不是計算機名稱
- 2. WCF測試:需要使用計算機名稱而不是遠程計算機上的IP地址
- 3. 拷貝項目適用於IP地址,而不是計算機名稱
- 4. 使用機器名稱而不是IP地址進行SSH連接本機
- 5. 如何獲得本地計算機的計算機名稱和IP地址
- 6. 使用名稱而不是IP地址連接到服務器
- 7. XAMPP設置使用名稱而不是IP地址
- 8. 通過Wi-Fi連接時使用的計算機的名稱,而不是IP地址
- 9. 解析主機名的ip地址
- 10. 檢測是否地址(主機)解析爲本地計算機
- 11. 如何在Eureka中使用IP地址而不是主機名?
- 12. 用戶的計算機名稱以及IP地址
- 13. 無法從容器內的主機名解析IP地址
- 14. 如何使用計算機名稱而不是IP地址從另一臺設備訪問Tomcat服務器?
- 15. 如何解決「主機名應該是域名,而不是IP地址」
- 16. 將主機名解析爲IP地址
- 17. 實用的iptables列出主機名,而不是IP地址
- 18. 數據庫引用DNS名稱而不是IP地址?
- 19. 如何爲本地計算機設置自定義網站名稱而不是IP地址?
- 20. 獲取客戶端的IP地址和計算機名稱?
- 21. 獲取遠程計算機的IP地址和名稱在VB
- 22. 用VB.Net通過本地網絡使用計算機名稱返回IP地址
- 23. 如何使用PHP獲取計算機名稱,計算機的本地IP和計算機的服務器IP
- 24. 使用Win32網絡API獲取基於計算機名稱的本地計算機的IP地址
- 25. 使用IP地址瀏覽網站而不是本地主機
- 26. 強制WAMP使用IP地址而不是本地主機
- 27. 試圖使用IP地址而不是本地主機
- 28. XAMPP使用IP地址而不是127.0.0.1或本地主機
- 29. 是否可以使用PHP將域名解析爲IP地址?
- 30. 如何從IP地址獲取計算機名稱?
如果本地工作和WSDL顯示了80端口的網頁上,是否有可能您的服務使用其他端口,路由器防火牆阻止對這些端口的外部訪問? – Tod
防火牆沒有問題,計算機名稱無法用局域網解決,但我現在有一個解決方案。無論如何thnx。 – baileyswalk