ASP.NET MVC 4 Web Api:诊断功能

use*_*899 5 logging diagnostics asp.net-mvc-4 asp.net-web-api

我正在搜索一个在ASP.NET MVC 4 Web Api中启用登录/跟踪的功能.在WCF中,您可以激活它正在执行的日志记录和WCF写入.然后,我可以打开转储并搜索错误.

我不想跟踪我的web api,而是记录框架正在做的事情.如果我使用消息处理程序跟踪/记录web api,如果在实现之前发生错误,我将得不到任何信息.

Mik*_*son 7

http://www.asp.net/web-api/overview/testing-and-debugging/tracing-in-aspnet-web-api

如果您提供ITraceWriter实现(可以像调用System.Diagnostics.Trace一样简单),Web API框架将跟踪它的功能.

  • 麦克风


cec*_*lip 4

我推荐两件事。

1)为了获得抛出异常的完整详细信息,我将错误策略设置为始终。这应该从您的代码中返回更详细的异常消息。

  GlobalConfiguration.Configuration.IncludeErrorDetailPolicy = IncludeErrorDetailPolicy.Always;
Run Code Online (Sandbox Code Playgroud)

我认为这只适用于 RC。

2)然后我还建议连接一个消息处理程序,您可以使用它来获取额外的请求/响应信息。消息处理程序将在新请求进入时和最终响应返回之前运行。网上有很多这样的例子。WebAPIContrib 在GitHub 存储库中有一个,您可以看一下作为示例

3)如果你想监控其他服务器事件,你可能需要考虑使用asp.net健康监控,当然只要你托管在asp.net中。它将允许您进行各种审核并监控服务器错误。

  • 您不应该*在生产环境中使用**IncludeErrorDetailPolicy.Always**,这是一个信息泄露漏洞:异常包含可用于找到破解您系统的方法的详细信息(请参阅https://www.owasp.org/ index.php/Information_Leak_(information_disclosure)) (4认同)