淺析SignalR連線生命週期的幾個重要方法
參照官網:http://www.asp.net/signalr/overview/guide-to-the-api/handling-connection-lifetime-events
一般我們只會處理hub類的方法,重寫OnConnected, OnDisconnected,和 OnReconnected 方法
public override Task OnConnected() { // 在這新增你的程式碼. // 例如:在一個聊天程式中,記錄當前連線的使用者ID和名稱,並標記使用者線上. // 在該方法中的程式碼完成後,通知客戶端建立連線,客戶端程式碼 // start().done(function(){//你的程式碼}); return base.OnConnected(); } public override Task OnDisconnected() { // 在這新增你的程式碼. // 例如: 標記使用者離線 // 刪除連線ID與使用者的關聯. return base.OnDisconnected(); } public override Task OnReconnected() { // 在這新增你的程式碼. // 例如:你可以標記使用者離線後重新連線,標記為線上 return base.OnReconnected(); }
每當瀏覽器導航到一個新的頁面,就會建立一個新的連線,SignalR 將在 OnConnected () ,執行OnDisconnected ()方法
SignalR在建立新連線後,總是建立新的連線ID,
當連線暫停後,SignalR呼叫OnReconnected() 方法使連線恢復,
()方法呼叫後,SignalR不能自動重新連線,例如瀏覽器導航到了新的網頁,因此,可以指定使用者事件順序為: OnConnected, OnReconnected, OnDisconnected;
或者 OnConnected, OnDisconnected 事件,可以查閱如何處理SignalR生命週期
由龐順龍最後編輯於:3年前
內容均為作者獨立觀點,不代表八零IT人立場,如涉及侵權,請及時告知。
相關文章
- Java類的生命週期淺析Java
- Android Service生命週期淺析Android
- 【連載】淺析React生命週期之一:掛載階段React
- 淺析spring——IOC 之 分析 Bean 的生命週期SpringBean
- 淺析依賴注入框架的生命週期(以 InversifyJS 為例)依賴注入框架JS
- Salesforce 生命週期管理(一)應用生命週期淺談Salesforce
- 淺談vue —— 生命週期Vue
- 淺談 ViewModel 的生命週期控制View
- 深入淺出 Gin 生命週期
- 從幾個例項來記憶Activity的生命週期
- Servlet生命週期與方法Servlet
- 深入淺出Tomcat/3 - Tomcat生命週期Tomcat
- API版本控制的生命週期方法 - nordicapisAPI
- View生命週期與Activity生命週期的關係View
- React v16.3 版本新生命週期函式淺析及升級方案React函式
- 開發方法---軟體生命週期
- [譯]如何使用React生命週期方法React
- 生命週期
- viewController的生命週期ViewController
- Servlet的生命週期Servlet
- UIViewController的生命週期UIViewController
- Flutter 的生命週期Flutter
- Spring的生命週期Spring
- bean的生命週期Bean
- SQL的生命週期SQL
- Laravel的生命週期Laravel
- 類的生命週期
- Spring Bean 生命週期之“我從哪裡來?” 懂得這個很重要SpringBean
- 淺析《死亡擱淺》的“連線”——從玩法到核心
- React16 生命週期函式深入淺出React函式
- JAVA面試題 執行緒的生命週期包括哪幾個階段?Java面試題執行緒
- 個人對vue中生命週期的理解Vue
- 品牌生命週期和產品生命週期之間的關係
- Spring(十二):IOC容器中Bean的生命週期方法SpringBean
- vue - 生命週期Vue
- Fragment生命週期Fragment
- vue生命週期Vue
- spring生命週期Spring