ASP .NET MVC 500 内部服务器错误 - 在获取和发布时 - 相同的应用程序/不同的服务器

Posted

技术标签:

【中文标题】ASP .NET MVC 500 内部服务器错误 - 在获取和发布时 - 相同的应用程序/不同的服务器【英文标题】:ASP .NET MVC 500 Internal Server Error - on Get and Post - same application / different servers 【发布时间】:2018-12-05 16:21:55 【问题描述】:

我想在这里帮助我们的系统管理员,所以请不要因为我缺乏知识而责备我。我们可以在本地运行应用程序,我们可以构建和部署到我们的测试服务器,并且应用程序报告按预期工作。但是当我们部署到我们的生产服务器时,许多 Get 和 Post Ajax 调用都会收到 500 错误。本质上,除了生产服务器之外,所有报告都可以在任何地方运行。

这是一个 ASP .NET MVC 应用程序,其视图为 Razor htmljavascript。模型、控制器和服务都在 C# 中。用于数据库的 IIS 8.5 Web 服务器和 SQL Server。

我已经用谷歌搜索并尝试了我能找到的一切。更详细的错误向我们展示了失败的服务调用以及参数,并且一切看起来都很好。同样,应用程序报告在除生产服务器之外的所有环境中运行良好。有谁知道为什么会发生这种情况以及我们应该如何解决这个问题?

提前谢谢你。

【问题讨论】:

【参考方案1】:

只需关闭 web.config 文件中的自定义错误

<system.web>
  <customErrors mode="Off">
</system.web>

然后在其中一个 GET 请求期间在浏览器中打开开发工具并自己重播 GET。应该得到准确的错误信息。

【讨论】:

customErrors 已关闭。我们根本不使用自定义错误。 @Patricia 那么返回的错误是什么?如果您看到的只是 500 错误且没有详细信息,请检查应用程序事件日志。通常当没有显示错误时,可能意味着无法解析 web.config 文件或其他地方发生服务器错误。发出请求,然后检查该应用程序事件日志。 在我在 Global.asax.cs 中添加 Application_Error() 方法之前,当出现错误时它 NOT 被命中。通过关闭 customErrors,该方法被命中,并且我在使用断点的方法中得到了完整的细节错误。更多详情:link 感谢@Josh 的帮助【参考方案2】:

我们花了一整天的时间才发现其中一个参数表没有适当的权限。这可以解释为什么有些报告会运行,而其他报告却始终返回 500 错误。

【讨论】:

以上是关于ASP .NET MVC 500 内部服务器错误 - 在获取和发布时 - 相同的应用程序/不同的服务器的主要内容,如果未能解决你的问题,请参考以下文章

ASP.NET MVC HandleErrorAttribute 和 远程链接

ASP.NET:HTTP 错误 500.19 – 内部服务器错误 0x8007000d

从 javascript 调用 webmethod 时出现 ASP.NET 500 内部服务器错误

Asp.net mvc 4 jquery ajax请求返回内部服务器错误

我可以在 .net 4 中部署我的 ASP.NET MVC 4 应用程序吗

如何修复 HTTP 错误 500.22 - 内部服务器错误检测到 ASP.NET 设置不适用于集成托管管道模式