如何在 blazor 服务器端关闭页面时获取事件?
How can I get the event while page close in blazor server-side?
我正在通过 blazor 服务器端制作一个聊天室应用程序。
我想显示每个用户的在线状态
现在我可以使用 OnAfterRenderAsync
事件让用户进入页面。
Blazor 生命周期中似乎没有任何 exit
事件通过 https://docs.microsoft.com/en-us/aspnet/core/blazor/lifecycle?view=aspnetcore-3.1
有人说我可以使用 Dispose
事件来实现它,而它确实有效。
还有一个疯狂的想法就是利用js的window.onbeforeunload
事件调用blazor方法
我不知道哪个最好。你能给我一个建议吗?谢谢。
您应该为此在服务器上实施 CircuitHandler。
它使您能够对 Circuit 的生命周期事件做出反应,这是 Blazor 服务器连接的 backbone。
方法
OnCircuitClosedAsync(电路,CancellationToken)
丢弃新电路时调用。
OnCircuitOpenedAsync(电路,CancellationToken)
建立新电路时调用。
OnConnectionDownAsync(电路,CancellationToken)
当与客户端的连接断开时调用。
OnConnectionUpAsync(电路,CancellationToken)
在建立与客户端的连接时调用。
- 此方法最初在 OnCircuitOpenedAsync(Circuit, CancellationToken) 之后执行一次,并且在电路的生命周期内每次重新连接时执行一次。
我正在通过 blazor 服务器端制作一个聊天室应用程序。
我想显示每个用户的在线状态
现在我可以使用 OnAfterRenderAsync
事件让用户进入页面。
Blazor 生命周期中似乎没有任何 exit
事件通过 https://docs.microsoft.com/en-us/aspnet/core/blazor/lifecycle?view=aspnetcore-3.1
有人说我可以使用 Dispose
事件来实现它,而它确实有效。
还有一个疯狂的想法就是利用js的window.onbeforeunload
事件调用blazor方法
我不知道哪个最好。你能给我一个建议吗?谢谢。
您应该为此在服务器上实施 CircuitHandler。
它使您能够对 Circuit 的生命周期事件做出反应,这是 Blazor 服务器连接的 backbone。
方法
OnCircuitClosedAsync(电路,CancellationToken)
丢弃新电路时调用。
OnCircuitOpenedAsync(电路,CancellationToken)
建立新电路时调用。
OnConnectionDownAsync(电路,CancellationToken)
当与客户端的连接断开时调用。
OnConnectionUpAsync(电路,CancellationToken) 在建立与客户端的连接时调用。 - 此方法最初在 OnCircuitOpenedAsync(Circuit, CancellationToken) 之后执行一次,并且在电路的生命周期内每次重新连接时执行一次。