我想構建一個基於彗星的應用程序,並希望它能夠支持多達1000個併發連接。據我所知,Tornado的優勢在於不會爲每個請求產生一個線程,因此可以輕鬆處理數千個長的輪詢請求。是否有任何開源的基於C#的非阻塞,基於事件的Web服務器像Tornado?
7
A
回答
8
我認爲Manos de Mono是你在找什麼。它還很早,但看起來很有希望。
1
是它http://webserver.codeplex.com/,你在找什麼?
3
要使用ASP.NET/IIS處理長輪詢請求,您需要實現自定義HTTP處理程序並實施IHttpAsyncHandler
。這允許您使用ASP.NET工作線程開始處理請求,然後在等待事件觸發響應時將線程返回到線程池。
http://msdn.microsoft.com/en-us/library/ms227433.aspx
異步HTTP處理程序可以立即開始一個外部進程(例如,方法調用到遠程服務器),而處理機繼續處理。處理程序可以繼續而無需等待外部過程完成。
ASP.NET MVC還提供了一個AsyncController
來簡化在此框架中實現異步請求處理。
0
,你可以嘗試用Mongrel2點NET綁定。它是非常快速的語言不可知網絡服務器。它通過zeroMQ工作。
0
我正在對C#進行直接的龍捲風移植。這還不是100%,但到達那裏。
相關問題
- 1. 是否有任何基於ASP.net C#的開源支付網關?
- 2. MS SQL服務器是否有基於Web的開放源代碼管理?
- 3. 基於Netty的非阻塞REST框架
- 4. 是否有任何與Macromedia Contribute類似的開源軟件(基於桌面或基於Web的)?
- 5. 任何基於ACE框架的開源服務器?
- 6. 是否有任何事件基於日曆的可用於ASP.NET
- 7. 什麼是基於C的服務和基於Java的服務?
- 8. 是否有任何成功的基於Windows Azure的網站和Web服務?
- 9. 是否有任何開源的基於jQuery的實時文本編輯器?
- 10. 基於WCF的基於SSL Rest的Web服務基礎認證
- 11. 如何用saml保護基於非瀏覽器的web服務
- 12. 基於表達式的Web服務器
- 13. 是否有一個基於C#的開源RDP實現?
- 14. 基於Web或基於應用的事件跟蹤器?
- 15. 關於基於SOAP的Web服務
- 16. 基於jQuery AJAX基於SOAP的Web服務和CORS(跨源資源共享)
- 17. 是否有一個很好的開源,基於XSD的Web編輯器?
- 18. 基於插件的WCF Web服務
- 19. 基於線程的服務器和基於事件的服務器有什麼區別?
- 20. 在線程中使用基於事件的API(阻塞模式)
- 21. 睡眠會阻止Nginx,因爲它是一個基於事件的服務器?
- 22. REDIRECT_URI阻塞,使基於Intranet的應用
- 23. 是否有一個基於開源NSView的UINavigationController類似組件?
- 24. 是否有任何開源Web字體服務器?
- 25. 非阻塞TCP服務器
- 26. 適用於基於服務的應用的開源GIS引擎
- 27. Grizzly是一個基於NIO的Web服務器(基於NIO)或框架
- 28. 是否有任何用於.NET的非GPL開源PGP庫
- 29. 是否有任何開源的基於Java的知識庫系統
- 30. Esper - 是否有任何開源的基於RDBMS的Event Store可用?
您是否需要該服務才能在臺式機上運行? IIS隨Windows Server一起提供,並且應該能夠輕鬆處理這種負載。 – 2010-02-24 01:51:52
IIS是否爲每個HTTP請求產生一個線程?據我所知,這就是爲什麼Tornado比Apache更適合長時間輪詢系統的原因。我假設IIS做同樣的事情。 – 2010-02-24 02:07:11
IIS不跨越每個HTTP請求的線程,天堂沒有。它確實使用IO完成端口。 – 2010-05-11 21:31:26