我有一个使用ASP.NET SqlMembershipProvider的.NET 4 WebAPI应用程序。
当它工作时,它工作正常 - 但如果连接到成员资格数据库有任何问题,我只是出现静默失败,浏览器显示HTTP 500服务器错误。
我正在使用log4net来记录应用程序警告和错误,但我无法弄清楚如何 - 或者在哪里 - 捕获SqlMembershipProvider引发的异常,以便记录它们。使用Application_Error或显式地将处理程序附加到应用程序的Error事件似乎不起作用。有什么想法吗?
答案 0 :(得分:0)
事件记录器中没有任何内容?另外,log4net配置正确吗?我过去遇到了很多问题,这通常让我使用NLog至少可以让我在出现问题时抱怨它...
答案 1 :(得分:0)
您是否尝试过创建自定义错误过滤器并在global.asax中注册?
您的500似乎是未处理的内部服务器错误。
要避免从教程中复制粘贴我的代码或代码,请访问此链接,它应该给您足够的答案。您可以在操作过滤器中触发日志记录:
http://www.asp.net/web-api/overview/web-api-routing-and-actions/exception-handling