Asp.net-Core
如何在 blazor 伺服器端關閉頁面時獲取事件?
我正在 blazor 伺服器端製作聊天室應用程序。
我想顯示每個使用者的線上狀態。
現在我可以使用該
OnAfterRenderAsync事件來獲取使用者已進入頁面。通過https://docs.microsoft.com/en-us/aspnet/core/blazor/lifecycle?view=aspnetcore-3.1
exit在 blazor 生命週期中似乎沒有任何事件有人說我可以使用該
Dispose事件來實現它,而它確實有效。更何況我有個瘋狂的想法,就是用
window.onbeforeunloadjs的事件來呼叫blazor方法。我不知道哪一個是最好的。你能給我一個建議嗎?謝謝你。
為此,您應該在伺服器上實現CircuitHandler。
它使您能夠對電路的生命週期事件做出反應,電路是 Blazor 伺服器連接的主幹。
方法
OnCircuitClosedAsync (Circuit, CancellationToken)
在丟棄新電路時呼叫。
OnCircuitOpenedAsync (Circuit, CancellationToken)
在建立新電路時呼叫。
OnConnectionDownAsync (Circuit, CancellationToken)
當與客戶端的連接斷開時呼叫。
OnConnectionUpAsync (Circuit, CancellationToken) 在建立與客戶端的連接時呼叫。- 此方法最初在 OnCircuitOpenedAsync(Circuit, CancellationToken) 之後執行一次,並且在電路的生命週期內每次重新連接一次。