如何解决.NET Core-UseExceptionHandler方法:这主要是针对Web应用程序吗?
方法UseExceptionHandler()
是仅在Controller中处理HTTP请求,还是可以处理作为后台服务运行的异常(尝试过但未处理)?
否则,是否还有其他可能的中间件可以捕获整个应用程序中的所有全局异常?
解决方法
据我所知,过滤器和中间件仅适用于http请求管道,需要一个请求,否则管道不会启动。但是IHostedService的实现是由Host触发的。不要在请求管道中运行。
我认为正确的方法是使用try catch捕获错误,然后使用ilogger记录异常是最好的方法。
public class MyHub : Hub
{
public override async Task OnDisconnectedAsync(Exception exception)
{
count--;
await Clients.All.SendAsync("disUser",count);
Console.WriteLine("user disconnected");
await base.OnDisconnectedAsync(exception);
}
}
更多详细信息,您可以参考本文以更多地了解异常handler和middleware。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。