首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Azure上的WebApi应用程序返回某些端点的500个错误

在Azure上的WebApi应用程序返回某些端点的500个错误
EN

Stack Overflow用户
提问于 2015-12-15 17:09:33
回答 3查看 1.1K关注 0票数 0

我正在设置一个运行在Azure web应用程序环境上的ASP.NET WebApi应用程序。我的大多数控制器和端点工作正常,但是大约有10条路由返回500个错误“发生了错误”。这不是随机的。每次都是相同的路由,我找不到任何模式(不是所有的HTTP方法,来自不同的控制器,在相同控制器中的其他路由可以正常工作,等等)

当这些错误发生时,根据我在应用程序中的判断,不会触发错误日志记录。(如果这重要的话,我正在使用Raygun.IO )。我尝试在global.asax函数中添加一个带有以下行的Application_Error文件:

代码语言:javascript
复制
Exception ex = Server.GetLastError();
new RaygunClient().SendInBackground(null, ex);

但据我所见,当这500个错误发生时,它不会被触发。我在Azure服务器日志中唯一发现的是失败请求日志中的以下警告:

但是,在此之前,我没有看到跟踪中有任何错误。我也没有在Azure日志中发现与这些失败路径相关的任何其他错误。

它是使用OWIN启动类的.NET 4.6 (尝试了4.5.1和4.5.2,没有区别)。也试图更新我的所有包,但没有效果。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2015-12-15 20:37:28

我搞清楚了到底发生了什么。确实发生了一些错误(主要是与SQL相关的),但是我们在这些函数中配置函数和错误日志记录的方式,实际的错误被吞没和丢失,覆盖了Raygun的错误日志行为。我翻开了尝试/捕捉块,我们用来捕获错误和日志,真正的错误最终出现在雷炮仪表板上。

票数 0
EN

Stack Overflow用户

发布于 2015-12-15 17:54:18

检查一下,确保你没有冲突的路线。当一个URI匹配两个或多个控制器操作,因此Web不能选择一个时,您将得到500个错误。

票数 0
EN

Stack Overflow用户

发布于 2015-12-15 19:43:40

如果您有一个一致的复制,那么您可以使用远程调试附加到您的web应用程序并调试它(https://azure.microsoft.com/en-us/documentation/articles/web-sites-dotnet-troubleshoot-visual-studio/)。如果您可以通过浏览器复制它,还可以关闭自定义错误页,以便它通过浏览器显示堆栈跟踪(<customErrors mode="off"/><server.web>下)。

此外,您还可以使用web应用程序设置启用更好的诊断日志。关于如何这样做的信息,请参见“启用诊断日志”一节中的https://azure.microsoft.com/en-us/documentation/articles/web-sites-configure/

此外,正如布伦特所说,URL冲突可能会导致一些令人讨厌的错误,而这些错误并不明显。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34295297

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档