程序问答   发布时间:2022-06-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了似乎无法在 finally 块中刷新 Blazor 页面大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决似乎无法在 finally 块中刷新 Blazor 页面?

开发过程中遇到似乎无法在 finally 块中刷新 Blazor 页面的问题如何解决?下面主要结合日常开发的经验,给出你关于似乎无法在 finally 块中刷新 Blazor 页面的解决方法建议,希望对你解决似乎无法在 finally 块中刷新 Blazor 页面有所启发或帮助;

无论是否遇到异常,我都试图让我的页面刷新。使用下面的代码,如果用户单击当前被其他用户锁定的消息,它将弹出错误,但它不会运行代码并在捕获错误后刷新我的 finally 块中的页面。

async Task GetPayment(GrIDRowClickEventArgs args)
    {
        try
        {
            var item = args.Item as NewPayment;
            sessionID = item.SessionID;
            SELEctedPayment = new NewPayment();
            

            receiver = await sbservice.CreateReceiver(queue,sessionID);
            receivedmessage = await receiver.PeekmessageAsync();

            var message = EnCoding.UTF8.GetString(receivedmessage.body);
            SELEctedPayment = Jsonserializer.Deserialize<NewPayment>(messagE);
            paymentwindow = true;

        }
        catch (Exception eX)
        {
            toastType = MatToastType.Danger;
            Toaster.Add(ex.ToString(),toastType,"",configure =>
            {
                configure.VisibleStateDuration = 100000;
                configure.ShowClosebutton = true;
            });
        }
        finally
        {
            await GetlistofPayments();
            StateHasChanged();
        }
    }

GetlistofPayments() 代码:

async Task GetlistofPayments()
    {
        try
        {
            newPayments = new List<NewPayment>();
            newPayments = await sbservice.ListPaymentsInQueue(queuE);
        }
        catch (Exception eX)
        {
            toastType = MatToastType.Danger;
            Toaster.Add(ex.ToString(),configure =>
            {
                configure.VisibleStateDuration = 100000;
                configure.ShowClosebutton = true;
            });
        }
    }

烤面包机在捕获过程中弹出没有问题。我试过将 GetlistofPayments() 移到 catch 上,但它不起作用。我让它工作的唯一方法是这样的

async Task GetPayment(GrIDRowClickEventArgs args)
    {
        try
        {

            var item = args.Item as NewPayment;
            sessionID = item.SessionID;
            SELEctedPayment = new NewPayment();
            **newPayments = null;**

            receiver = await sbservice.CreateReceiver(queue,configure =>
            {
                configure.VisibleStateDuration = 100000;
                configure.ShowClosebutton = true;
            });
        }

        finally
        {
            **if (newPayments == null)
            {
                await GetlistofPayments();
                StateHasChanged();
            }**
        }
    }

这会在运行代码以获取所选付款之前重置我的数据网格,但它会使用更新的付款列表刷新数据网格。理想情况下,我只想在出现错误时运行 GetlistofPayments(),或者至少等到获取所选付款后。这可能吗?

我还使用 Azure serviceBus 创建一个实时的待处理付款队列。我不是 100% 确定这是正确的方法。欢迎任何建议!

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

大佬总结

以上是大佬教程为你收集整理的似乎无法在 finally 块中刷新 Blazor 页面全部内容,希望文章能够帮你解决似乎无法在 finally 块中刷新 Blazor 页面所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。