我首先搜索了之前的问题,但找不到任何解决我问题的方法。我有一个Web应用程序项目在本地工作正常,然后在发布后失败500。这是我第一次使用任何Microsoft堆栈(C#,ASP.NET MVC,Azure),所以请耐心等待。
我已将以下内容添加到web.config
:
<system.web>
<customErrors mode="Off"/>
</system.web>
<system.webServer>
...
<httpErrors errorMode="Detailed" />
<tracing>
<traceFailedRequests />
</tracing>
</system.webServer>
我还使用Visual Studio中的“服务器资源管理器”视图在Web应用程序的设置下打开了detailed error messages
(右键单击应用程序的名称,单击设置)。我还尝试远程调试Web应用程序,但收到了#34;访问被拒绝&#34;("Remote debugging does not work in Express editions of Visual Studio"可能?)。因此,我将从Azure网络应用发布web.config
。
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.web>
<customErrors mode="Off"></customErrors>
</system.web>
<system.webServer>
<handlers>
<add name="httpPlatformHandler" path="*" verb="*" modules="httpPlatformHandler" resourceType="Unspecified"/>
</handlers>
<httpErrors errorMode="Detailed" />
<httpPlatform processPath="%DNX_PATH%" arguments="%DNX_ARGS%" stdoutLogEnabled="false" startupTimeLimit="3600"/>
<tracing>
<traceFailedRequests />
</tracing>
</system.webServer>
</configuration>
上面提到的这些变化中的一个或组合可以提供更有用的错误屏幕。
如果有人可以过来并发布答案,说明它可能是哪个步骤以及为什么等等,我很乐意接受它。我不想发布答案,因为老实说我不知道哪个&#39;已经修好了?它
答案 0 :(得分:0)
是的,customErrors元素属于system.web
首次部署到Azure或任何其他服务器时,人们最常犯的错误是正确设置该环境的连接字符串,因此我首先要检查这些错误。
答案 1 :(得分:-1)
您提到 ASP.NET 5 Web App项目,这意味着您有一个 Startup.cs 文件,对吗?
检查 project.json 文件(如果您没有添加)Microsoft.AspNet.Diagnostics包。
然后添加public void Configure
处理程序:
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
app.UseDeveloperExceptionPage();
//other app.Uses
}
这适用于本地开发人员,因为它会显示详细的完整错误,您可能希望稍后将其添加到if:
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}