我正在尝试部署一个ASP。网络应用程序。我已经将网站部署到IIS,但当用浏览器访问它时,它显示给我这个:
服务器错误 500 -内部服务器错误。 您正在查找的资源有问题,无法显示。
在摆弄了网页之后。配置,我得到:
由于内部服务器错误,页面无法显示。
我如何才能看到这个服务器错误背后的实际问题?
我正在尝试部署一个ASP。网络应用程序。我已经将网站部署到IIS,但当用浏览器访问它时,它显示给我这个:
服务器错误 500 -内部服务器错误。 您正在查找的资源有问题,无法显示。
在摆弄了网页之后。配置,我得到:
由于内部服务器错误,页面无法显示。
我如何才能看到这个服务器错误背后的实际问题?
当前回答
我第一次尝试发布并运行一个只提供HTML的非常简单的网站,结果是“页面无法显示,因为发生了内部服务器错误”。
问题:我在Visual Studio中将网站设置为。net 3.5(右键单击网站项目->属性页-> Build),但在Azure中将网站配置为。net 4.0。哦!我在Azure中将其更改为3.5,并且它可以工作。
其他回答
除了其他建议之外,请确保将httpErrors节点的现有response属性从Replace更改为Auto,或者完全删除该属性。
<httpErrors existingResponse="Replace" />
^^^^^^^ not going to work with this here
如果您正在使用自定义HttpHandler(即实现IHttpModule),请确保您正在检查对其Error方法的调用。
你可以让你的处理程序在本地调试期间抛出实际的httpexception(它有一个有用的Message属性),如下所示:
public void Error(object sender, EventArgs e)
{
if (!HttpContext.Current.Request.IsLocal)
return;
var ex = ((HttpApplication)sender).Server.GetLastError();
if (ex.GetType() == typeof(HttpException))
throw ex;
}
还要确保检查异常的InnerException。
有时,原因可能是您的.dll程序集没有在服务器上正确注册。
例如,您可以在安装了Office的本地机器上成功运行c# Excel web应用程序,但在服务器部署时得到500错误,因为服务器上没有安装Office套件,因此您得到服务器错误。
服务器错误500 -内部服务器错误。 您正在查找的资源有问题,无法显示。Goddady。主机-网络-经济- Windows Plesk
在我的例子中,我替换了以下代码:
<configuration>
<system.webServer>
<httpErrors errorMode="Detailed" />
<asp scriptErrorSentToBrowser="true"/>
</system.webServer>
<system.web>
<customErrors mode="Off"/>
<compilation debug="true" targetFramework="4.0"/>
</system.web>
</configuration>
然后将框架3.5更改为框架4。它显示了我的详细错误。我删除代码在:
<httpModules></httpModules>
它解决了我的问题。
我在这个问题上非常紧张。确保下面的条目在根网络中。配置文件为我修复了它:
<configuration>
<system.webServer>
<validation validateIntegratedModeConfiguration="false" />
</system.webServer>
</configuration>
请记住,如果已有XML元素,则必须将其添加到现有的XML元素中。不能只在文件末尾添加,因为任何元素都不能有多个副本。