gpt4 book ai didi

asp.net-core - 如何在 blazor 服务器端关闭页面时获取事件?

转载 作者:行者123 更新时间:2023-12-03 13:31:41 27 4
gpt4 key购买 nike

我正在 blazor 服务器端制作一个聊天室应用程序。

我想显示每个用户的在线状态。

现在我可以使用 OnAfterRenderAsync获取用户已进入页面的事件。

好像没有exit blazor 生命周期中的事件通过 https://docs.microsoft.com/en-us/aspnet/core/blazor/lifecycle?view=aspnetcore-3.1

有人说我可以用Dispose事件来实现它,而它确实有效。

更重要的是,我有一个疯狂的想法,即使用 window.onbeforeunload js 调用 blazor 方法的事件。

我不知道哪一个最好。你能给我一个建议吗?谢谢你。

最佳答案

你应该实现一个 CircuitHandler 在服务器上为此。

您可以在此处找到文档 https://docs.microsoft.com/en-us/dotnet/api/microsoft.aspnetcore.components.server.circuits.circuithandler?view=aspnetcore-3.1

它使您能够对 Circuit 的生命周期事件使用react,这是 Blazor 服务器连接的主干。

方法

OnCircuitClosedAsync (电路,CancellationToken)
在丢弃新电路时调用。

OnCircuitOpenedAsync (电路,CancellationToken)
在建立新电路时调用。

OnConnectionDownAsync (电路,CancellationToken)
当与客户端的连接断开时调用。

OnConnectionUpAsync (电路,CancellationToken)
在建立到客户端的连接时调用。
- 此方法最初在 OnCircuitOpenedAsync(Circuit, CancellationToken) 之后执行一次,并且在电路生命周期内每次重新连接时执行一次。

关于asp.net-core - 如何在 blazor 服务器端关闭页面时获取事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59980882/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com