Blazor WASM,记录异步方法异常.blazor-error-ui



aspnetcore框架如何在Blazor WASM应用程序中设置此div以显示块?

<div id="blazor-error-ui" style="display: none;">

我已经在https://github.com/dotnet/aspnetcore中搜索了代码,但似乎没有在该源的任何地方。我找错地方了吗?

我根据这个MS文档https://learn.microsoft.com/en-us/aspnet/core/blazor/fundamentals/logging?view=aspnetcore-6.0创建了一个自定义记录器,试图记录所有异常。这似乎可以工作,但是它不能捕获由异步方法抛出的异常。我也尝试过使用ErrorBoundary组件,但是这些组件也无法捕获异步方法抛出的异常。

奇怪的是,当从异步方法抛出异常时,异常被记录到控制台,而不被传递到自定义记录器,并且blazor-error_uidiv仍然被切换为。

<div id="blazor-error-ui" style="display: block;">

所以框架必须意识到这个异常…难道它不应该被捕获/记录吗?

虽然在没有看到代码的情况下我不能确定,但我怀疑这些抛出异常的异步方法需要在调用它们的地方等待。如果从不等待异步调用的任务,则调用上下文可以在异步调用完成之前成功完成,因此代码中没有任何内容可以捕获"孤儿"中的异常。异步任务。

如果这看起来不对,请向我们展示如何调用这些抛出未捕获异常的异步方法中的一个的代码,以及您的自定义记录器的代码。

相关内容

  • 没有找到相关文章

最新更新