【问题标题】:Blazor Server - CircuitHandler.OnConnectionDownAsync is called during navigationBlazor 服务器 - 在导航期间调用 CircuitHandler.OnConnectionDownAsync
【发布时间】:2022-10-08 23:58:13
【问题描述】:

我的 Blazor 服务器代码中有“CircuitHandler”类的“OnConnectionDownAsync”。但是这个偶数处理程序是在调用“NavigationManager.NavigateTo()”期间调用的。任何地方都描述了这种行为,或者我在这里做错了什么,这导致了导航期间的“OnConnectionDownAsync”调用?这种行为导致现有连接关闭并在导航期间打开新连接,我觉得这是一种开销。

public class TrackingCircuitHandler : CircuitHandler
    {
        private HashSet<Circuit> circuits = new();

        public override Task OnConnectionUpAsync(Circuit circuit,
            CancellationToken cancellationToken)
        {
            TimeSpan time = DateTime.Now.TimeOfDay;
            circuits.Add(circuit);

            return Task.CompletedTask;
        }

      

//This is calling during navigation and causing a new connection open****************

        public override Task OnConnectionDownAsync(Circuit circuit,
            CancellationToken cancellationToken)
        {
            TimeSpan time = DateTime.Now.TimeOfDay;
            circuits.Remove(circuit);

            return Task.CompletedTask;
        }

        public int ConnectedCircuits => circuits.Count;
    }

【问题讨论】:

  • 您能否分享完整的代码 sn-p 您如何称呼它。您有机会检查请求的跟踪日志吗?
  • @Md Farid Uddin Kiron 我有这个 HTML <button @onclick="GoToCounter">Click Here</button> 它是事件处理程序 private async void GoToCounter() { NavigationManager.NavigateTo("Counter", true); }。在 "NavigationManager.NavigateTo("Counter", true);" 行之后,它正在调用 "OnCircuitClosedAsync(Circuit circuit, CancellationToken cancelToken)" 以关闭连接,然后再次打开。简单的源代码在这里1drv.ms/u/s!ArnWsPocPHeKha06aYIcKcXnBEpzBg?e=b54J4i

标签: asp.net asp.net-core .net-core blazor-server-side


【解决方案1】:

现在已解决。我偶然注意到我在登录后路由到页面,如下所示。

NavigationManager.NavigateTo("/RequestForm",true);

上面的代码强制从服务器重新加载页面,因此这个流程正在关闭现有的套接字连接。

我更改了我的代码如下,在导航期间不会重新加载页面并且现有的套接字连接保持不变。

NavigationManager.NavigateTo("/RequestForm");

【讨论】:

    猜你喜欢
    • 2020-09-22
    • 2020-02-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-18
    相关资源
    最近更新 更多