blazor webassembly 如何在使用 autorest 服务客户端调用 api 时进行错误处理?无需在每个页面中使用 try catch

问题描述

感谢您阅读本文。

现在我正在制作一些网站。

我使用 .net 5 blazor 网络程序集。

当我访问数据时,我使用了 web api。

有时当我调用 web api 时,该 api 会返回给我错误代码(例如 401、404 等)。

当我得到这些代码时,我可以转到有关全局异常处理的错误页面吗? (例如未找到页面,访问被拒绝页面)

没有在每个页面中使用 try catch 语句。

当前我页面的源代码是这样的。

    try
    {
        MixList = await DataClient.Mix.GetMixListAsync();
    }
    catch (Exception e)
    {
        // blah blah blah.
        switch (error_code)
        {
            case 401:
                NavigationManager.NavigateTo("accessdenied");
                break;
            case 404:
                NavigationManager.NavigateTo("notfound");
                break;
        }
    }

并且我在 program.cs 主方法中添加了我的服务客户端。

builder.Services.AddScoped<IMixITWebApi,MixITWebApi>(
    sp =>
    {
        return new MixITWebApi(
            new Uri(builder.Configuration["MixWebApiUrl"]),new TokenCredentials(sp.GetRequiredService<ITokenProvider>()));
    });

解决方法

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

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

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

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...