我試過研究這個,但沒有發現太多聽起來類似於我需要實現的東西。總之,我們將在服務器上運行一個ASP網站,供客戶訪問。理想情況下,我們有一個函數,我們希望在用戶會話開始時初始化,並在會話結束時停止。當會話發生時,此函數通過套接字通信發送和接收消息,這意味着我們需要從頁面訪問此類的發送/接收函數以移動信息。什麼是最好的方式去做這件事?我將如何在ASP.Net服務器上運行連續任務?
6
A
回答
6
看看SignalR。這可能是你想要的。它的「集線器」實際上就是您在啓動會話過程中尋找的東西,並在用戶消失時停下來。它有一個客戶端JS庫,它可以自動選擇可用的最佳連接方法(例如,websocket> server-sent-events> long-polling),它允許您從客戶端發送消息到服務器,並從服務器到客戶端。
,我已經與周圍打了過去另一種方法是XSockets:
它在許多方面類似於SignalR,但它不是免費的。
+0
一直在研究這一點,我確實相信這是我們正在尋找的。謝謝! – JtHa77
2
很難說清楚你的描述,你想通過套接字與客戶端瀏覽器通信嗎?或者你是否試圖通過套接字與其他服務進行通信?
Web應用程序並非理想地適用於確定性類型的操作。 Web服務器很難知道客戶端是否確實關閉了瀏覽器。在大多數情況下,會話經過一段時間不活動後會超時(大多數情況下超過20分鐘)。所以你不能可靠地知道用戶會話何時實際結束。
最重要的是,Session_End不會觸發某些邊緣情況。例如,如果應用程序池回收,則不會觸發Session_End事件。這可能不是問題,因爲如果應用程序池回收您的其他連接也會回收,但仍然需要記住一個問題。
最後,Web應用程序不打算長時間運行。
相關問題
- 1. 在Play 2.4.2服務器中運行連續後臺任務
- 2. 如何在服務器上連續運行一個php程序?
- 3. 如何在EC2服務器上連續運行Python腳本?
- 4. Android:連續運行服務
- 5. Android連續運行服務
- 6. 連續運行服務器套接字
- 7. 在Android中連續運行Handler任務
- 8. 如何讓ASP.NET MasterPage在我的服務器上運行?
- 9. 在asp.net服務器上運行PHP
- 10. 在wamp服務器上運行ASP.NET
- 11. 在Android中連續運行Socket.io服務
- 12. 如何連續運行該計時器任務?
- 13. 我如何確保芹菜任務在工人上連續運行?
- 14. javafx中的連續運行任務?
- 15. 我該如何連續運行Android服務
- 16. 如何在生產服務器上運行Yard服務器?
- 17. 如何在服務器上運行JavaScript
- 18. 如何在服務器上運行Dart?
- 19. 如何運行在服務器上
- 20. 解析(服務器)上連續運行的腳本
- 21. 我可以在沒有cron或incron的Linux服務器上連續運行inotifywait
- 22. 如何在服務器啓動時運行capistrano任務?
- 23. 如何在Apache Web服務器上運行ASP.NET應用程序?
- 24. 如何使ASP.NET開發服務器在端口80上運行?
- 25. 如何在Apache服務器上運行ASP.NET 4.0網站?
- 26. 如何在Ubuntu服務器上運行ASP.NET網頁?
- 27. 如何融合位置在後臺服務中連續運行
- 28. 如何使WCF服務在IIS中連續運行?
- 29. 連接到Mysql服務器以在兩個數據庫上運行任務
- 30. 如何連接從c#在Web服務器上運行的MySQL?
FWIW,對於所有投票的人來說,我認爲這是一個完全有效的問題。它(有效地)有一個單一的正確答案,並且問得好。唯一可能的問題是標題有點混亂,它似乎描述的是與真正被問到的不同的問題。 –