如何解决ASP.NET WebAPI 全局错误处理过滤器在发生模型绑定错误时不起作用
我在 .NET Framework 中编写了 Web API。我做了一个全局错误过滤器。
public class UnhandledExceptionFilter : ExceptionFilterAttribute
{
public override void OnException(HttpActionExecutedContext context)
{
//log somewhere
//Make user friendly error message
}
}
我将它添加到全局过滤器
config.Filters.Add(new UnhandledExceptionFilter());
当控制器发生错误时,这可以正常工作。但是当默认模型绑定发生错误时它不起作用。
假设我有一个操作,它有一个 DateTime
参数。
public class MyController: ApiController
{
public override void CheckBirthdate(DateTime birthdate)
{
throw new Exception("Test");
}
}
如果我像这样调用 MyController/CheckBirthdate?birthdate=03/05/2021
,我的全局错误处理工作正常。但是我像这样调用 MyController/CheckBirthdate?birthdate=test
我的全局错误处理不起作用。我得到这样的错误
无法将字符串转换为日期时间:测试。路径'生日'
为什么全局错误处理过滤器不能捕获它?我该如何解决?。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。