在Windows服務中自託管WCF服務是否有任何限制(性能,內存,線程等)而不是使用IIS?有大量的文章顯示如何做到這一點,但很少討論如果你應該這樣做。我構建的一個相當複雜的應用程序需要我自行託管WCF服務以進行點對點通信。在服務器上使用與全局用戶必須訪問的「主」服務相同的自託管模式是非常誘人的。自託管的WCF服務以任何方式受到限制嗎?
2
A
回答
0
我幫助架構兩個利用WCF自託管的系統,它工作得非常好(我們使用NetTCP作爲底層通信協議)。這主要是一個概念證明,看看我能否做到這一點,並且最終運行得非常好,儘管有一些性能方面需要考慮。首先,根據服務數量的不同,你的內存佔用量可能會變大一些 - 我所構建的服務有40個獨立服務,但接下來的支持團隊不斷增加新服務,最後我聽到了92。這開始引入一些緩慢的啓動時間,除非你在自己的AppDomain下打開每個進程的初始化過程(你肯定會想做的事情)有一些額外的開銷。我不能說是否性能比IIS託管更好/更差,但總體而言,它的確運行良好 - 只是準備好了解關於後臺線程和AppDomain的相當數量作爲過程的一部分。
4
要考慮的要點是:
- Port Sharing:IIS給你端口共享是免費的。要在自己託管的環境中使用端口共享,您需要自己處理此問題
- 有限的可用性:只有在應用程序正在運行時才能訪問該服務。
- 有限功能:自託管應用程序對高可用性,易管理性,健壯性,可恢復性,版本控制和部署方案的支持有限。至少,開箱即用的WCF不提供這些功能,因此在自主託管的場景中,您必須自己實現這些功能;例如,IIS在默認情況下提供了其中一些功能。
查看the MSDN docs以瞭解您需要考慮的權衡概述。
相關問題
- 1. 將WCF作爲Windows服務託管時的任何限制?
- 2. IIS可以託管WCF服務執行後臺任務嗎?
- 3. 託管WCF服務的任何建議?
- 4. WCF服務自託管
- 5. 自託管WCF服務
- 6. 自我託管wcf服務
- 7. 託管WCF服務
- 8. WCF服務託管
- 9. 我可以在Windows服務中託管WCF服務嗎?
- 10. 我可以在本地調用自託管WCF服務中的方法嗎?
- 11. 預熱自我託管的WCF服務
- 12. 自我託管的WCF服務
- 13. Mono中自行託管的WCF服務
- 14. 與自託管的WCF服務
- 15. 安全的自託管WCF服務
- 16. InstanceContextMode自我託管的WCF服務
- 17. 以編程方式在IIS中配置和託管WCF服務
- 18. 限制訪問IIS中託管的WCF服務的端點
- 19. 使用IIS託管WCF服務的C#中的任務管理
- 20. 自我URL映射託管WCF服務
- 21. wcf自我託管多種服務
- 22. WCF自託管服務。系統要求
- 23. 自我 - 託管WCF服務器和SSL
- 24. 更新IIS自動託管WCF服務
- 25. 自託管WCF數據服務認證
- 26. Windows服務「自我託管」WCF:壓縮?
- 27. 多個WCF服務(自己託管)
- 28. wcf數據服務自託管憑證
- 29. 通過Https自託管WCF服務
- 30. 通過控制檯託管WCF服務
任何理論問題應該添加在http://meta.stackoverflow.com/,stackoverflow是爲任何編碼\邏輯相關的問題 – dreamweiver
meta.stackoverflow.com是關於主站點的問題,而不是有關編程的理論問題。 –
您可能想要閱讀[此MSDN頁面](http://msdn.microsoft.com/zh-cn/library/bb332338.aspx)它將WCF託管與IIS進行比較,並顯示每個的優點和缺點。 –