2015-05-24 113 views
7

我有一个已经部署为Azure Web App的MVC 6网站。我使用服务器资源管理器在Visual Studio中启用了所有跟踪/诊断选项。我正在尝试执行远程调试,但我只在浏览器上看到错误500,并且未发现任何信息(或触发错误断点),确切地说错误发生在哪里。如何获取Azure Web App的错误500的详细信息?

我从Azure获得的文件日志上找不到任何错误跟踪。

如何解决Azure Web App中的错误500问题?

向config.json添加“CustomErrors”:{“Mode”:“Off”}不起作用。

+1

当您尝试执行远程调试时,您正在使用什么版本的Visual Studio?另外,您可能需要考虑将Application Insights添加到您的Web应用程序。 –

+1

我正在使用VS 2015 RC。它说它不被支持。 –

+1

我刚刚从详细错误XML中发现它是由MapRequestHandler引起的。没有提供其他细节。 –

回答

2

对于MVC 6,你需要一个web.config文件添加到wwwroot文件夹有以下几点:

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

这将标记添加到部署的web.config文件,并给您详细的错误。有关更多详细信息,请参阅http://docs.asp.net/en/latest/fundamentals/diagnostics.html#http-500-errors-on-azure

+1

嗨,瑞克。我不确定是否还有其他需要设置的内容。它在本地工作(我可以在Error 500页面上看到堆栈跟踪)。但是,在Azure上,它没有跟踪。我确认配置文件也已被部署。 –

+2

它没有工作。我有这个web.config文件,但我仍然只有错误500没有任何细节。 –

+1

你是如何确认你在正确的web.config中有正确的标记的?在IIS Express上不需要自定义错误即可获取详细的错误消息。使用Kudu确认正确的web.config是天蓝色的。听起来你的web.config中有无效的XML,在这种情况下,它不会使用你的customErrors设置。有多个故障向量。 – RickAndMSFT

0

首先,您必须在Azure上启用LOG文件。

在MVC核心你这样做,通过设置stdoutLogsEnabled =在web.config中真实的 - > - >

那你去Azure的应用服务控制台,点击诊断日志下监测范畴。

在那里你有FTP链接,你有你的日志文件存储。

打开它,你会看到一个详细的错误。在尝试打开LOG文件之前,不要忘记停止您的App Service服务器,否则它将无法访问。

希望能帮到你。

相关问题