Asp.net mvc ASP MVC异常未冒泡到DelegatingHandler
我有一个基本的Asp.net mvc ASP MVC异常未冒泡到DelegatingHandler,asp.net-mvc,asp.net-web-api,exception-handling,Asp.net Mvc,Asp.net Web Api,Exception Handling,我有一个基本的DelegatingHandler: internal class ExceptionVerifier : DelegatingHandler { protected override async Task<HttpResponseMessage> SendAsync(HttpRequestMessage request, CancellationToken cancellationToken) { try { r
DelegatingHandler
:
internal class ExceptionVerifier : DelegatingHandler
{
protected override async Task<HttpResponseMessage> SendAsync(HttpRequestMessage request, CancellationToken cancellationToken)
{
try {
return await base.SendAsync(request, cancellationToken);
} catch (Exception ex) {
// handle exception
}
}
}
内部类例外验证程序:DelegatingHandler
{
受保护的覆盖异步任务SendAsync(HttpRequestMessage请求,CancellationToken CancellationToken)
{
试一试{
返回wait base.sendaync(请求、取消令牌);
}捕获(例外情况除外){
//处理异常
}
}
}
然而,一些例外情况并没有出现。从HttpResponseException
继承的异常从属性转换为HttpResponseMessage
,然后由base.SendAsync
返回。我哪里也不会那样做。谁在做这件事?有没有办法强迫所有例外情况都出现泡沫
我更喜欢这种设计,因为它更清晰,而不是使用由谁知道谁、谁知道何时调用的IExceptionHandler