如何公開WCF服務,以便一個使用wsHttp綁定的客戶端和另一個使用netTcp綁定的客戶端都可以使用該服務?兩種不同客戶端的兩種綁定類型的WCF服務
回答
總之,你可以簡單地通過配置來完成!
Have you seen this tutorial? Do check this out。
它是一個很好的教程,帶有使用Microsoft Service Configuration Editor配置具有多個端點的示例服務的整個基本過程的屏幕圖像。
這都是配置的事情 - 當你定義你的服務時,你只需要去定義兩個端點 - 一個用於wsHttpBinding
,另一個用於netTcpBinding
。就這麼簡單!
<system.serviceModel>
<services>
<service name="YourNamespace.MyService">
<endpoint
address="ws"
binding="wsHttpBinding"
contract="YourNamespace.IMyService" />
<endpoint
address="net.tcp://localhost:8787/MyService"
binding="netTcpBinding"
contract="YourNamespace.IMyService" />
<host>
<baseAddresses>
<add baseAddress="http://localhost:8282/" />
</baseAddresses>
</host>
</service>
</services>
</system.serviceModel>
現在,你有你的服務暴露兩個端點:
- 一個使用使用
wsHttpBinding
在http://localhost:8282/ws
- 一個
netTcpBinding
在tcp://localhost:8787/MyService
兩個端點相同的服務,對於相同的服務合同,例如提供相同的功能和服務方法。
在WCF每個服務端點必須定義WCF的ABC:
- [A] ddress - 哪裏可以在服務到達/叫什麼名字?
- [B]插入 - 如何調用服務(協議,設置,安全等)?
- [C] ontract - 服務在這個地址提供什麼,什麼方法暴露?
你也可以爲nettcp指定一個基地址,只是爲了保持一致性。 – 2010-10-14 10:40:37
@Johann Blais:是的,你完全可以這麼做 - 這完全取決於你。我只想顯示這兩種方法 - 帶有基地址(http),並且不在
我試過這個,但是當我訪問http:// localhost:8282/ws時,我得到一個HTTP 404 - 找不到文件錯誤。還有其他需要嗎? – 2012-12-07 12:36:29
- 1. multiserverthread爲兩種不同類型的客戶端
- 2. 兩種不同類型的
- 3. 兩種不同類型
- 4. WCF net.tcp綁定客戶端類型
- 5. 如何獲得兩種不同類型的兩種不同的二叉樹?
- 6. 有兩種不同類型的
- 7. 合併兩種不同類型的RDD
- 8. set_intersection兩種不同類型的集合
- 9. 兩種不同類型的jQuery
- 10. 體系結構問題:Web服務 - 多種客戶端類型
- 11. 哪種授權類型用於客戶端 - 服務器認證?
- 12. 有兩種類型的Arraylist:如何確定第一種類型?
- 13. 兩個WCF服務將相同的數據協定返回給silverlight客戶端
- 14. 使用Google Analytics跟蹤兩種不同的用戶類型?
- 15. Rxandroidble-方法scanBleDevices(UUID ... filters)不支持兩種類型的服務
- 16. 兩種類型的在C++
- 17. 兩種類型的變量
- 18. 作爲WCF服務的信號器爲各種客戶服務
- 19. 兩個客戶端之間的不同服務行爲
- 20. 使用具有不同綁定配置的兩個端點配置WCF服務
- 21. WCF:客戶端和服務綁定可能不匹配?
- 22. WCF - 客戶端和>服務綁定可能不匹配
- 23. wcf綁定 - 服務和客戶端不匹配
- 24. 數據綁定中if else語句中的兩種不同返回類型
- 25. 可以使用來自兩種不同訂閱的兩種不同雲服務的相同sql Azure實例嗎?
- 26. 客戶端服務器TypeScript應用程序 - 哪種服務器類型?
- 27. WCF - 兩種方法
- 28. 服務器和客戶端的不同Dbus綁定
- 29. 提供兩種不同的相同類型的實例
- 30. 具有相同ID的Android兩種不同的SharedPreference類型
鏈接已死...... – Vaccano 2012-11-02 21:36:48
是的。鏈接已死。即使ti在鏈接中表示相同的內容,實際的完整響應總是更好。 – 2012-12-07 10:56:27
@Vaccano/Coral - 更新了鏈接。雖然我通常會傾向於贊同珊瑚關於發佈內容的評論,但在這種情況下,我發現它有點太長,並且有很多一步一步的截圖 - 所以我不認爲它們有什麼好的方法可以做到簡潔方式。因此,鏈接。 – InSane 2012-12-08 13:29:28