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 html 和 javascript。模型、控制器和服务都在 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请求返回内部服务器错误