如何全局处理客户端 Blazor 应用程序的应用程序级别异常?
您可以创建一个处理 WriteLine 事件的单例服务。这只会在错误时被触发,这要归功于Console.SetError(this);
public class ExceptionNotificationService : TextWriter
{
private TextWriter _decorated;
public override Encoding Encoding => Encoding.UTF8;
public event EventHandler<string> OnException;
public ExceptionNotificationService()
{
_decorated = Console.Error;
Console.SetError(this);
}
public override void WriteLine(string value)
{
OnException?.Invoke(this, value);
_decorated.WriteLine(value);
}
}
然后将其添加到ConfigureServices函数中的Startup.cs文件中:
services.AddSingleton<ExceptionNotificationService>();
要使用它,您只需在主视图中订阅 OnException 事件。
Source https://remibou.github.io/Exception-handling-in-Blazor/
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)