首页 / C# / c# – 全局异常处理Web Api 2
c# – 全局异常处理Web Api 2
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了c# – 全局异常处理Web Api 2,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1405字,纯文字阅读大概需要3分钟。
内容图文
![c# – 全局异常处理Web Api 2](/upload/InfoBanner/zyjiaocheng/781/a199bedf0f3f4aa8b3b840f8b0585a3c.jpg)
我试图弄清楚如何在.NET Web Api 2中实现全局异常处理程序.
我尝试按照Microsoft提出的示例进行操作:
https://docs.microsoft.com/en-us/aspnet/web-api/overview/error-handling/web-api-global-error-handling
但是当发生异常时,它什么也没做.
这是我的代码:
public class GlobalExceptionHandler : ExceptionHandler
{
public override void Handle(ExceptionHandlerContext context)
{
Trace.WriteLine(context.Exception.Message);
context.Result = new TextPlainErrorResult
{
Request = context.ExceptionContext.Request,
Content = "Oops! Sorry! Something went wrong." +
"Please contact support@testme.com so we can try to fix it."
};
}
private class TextPlainErrorResult : IHttpActionResult
{
public HttpRequestMessage Request { private get; set; }
public string Content { private get; set; }
public Task<HttpResponseMessage> ExecuteAsync(CancellationToken cancellationToken)
{
var response =
new HttpResponseMessage(HttpStatusCode.InternalServerError)
{
Content = new StringContent(Content),
RequestMessage = Request
};
return Task.FromResult(response);
}
}
}
是否有更好的方法(或更正确的方法)来实现全局异常处理程序?
解决方法:
尝试将此添加到WebApiConfig
webConfiguration.Services.Replace(typeof(IExceptionHandler), new MyExceptionHandler()); // You have to use Replace() because only one handler is supported
webConfiguration.Services.Add(typeof(IExceptionLogger), new MyExceptionLogger()); // webConfiguration is an instance of System.Web.Http.HttpConfiguration
内容总结
以上是互联网集市为您收集整理的c# – 全局异常处理Web Api 2全部内容,希望文章能够帮你解决c# – 全局异常处理Web Api 2所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。