我得到一个错误,每次我上传我的webapp到提供商。由于使用了customErrors模式,我所看到的是默认的“运行时错误”消息,指示我关闭customErrors以查看有关错误的更多信息。

我恼怒地织好了网。配置如下所示:

<?xml version="1.0"?>
<configuration>
    <system.web>
        <customErrors mode="Off"/>
    </system.web>
</configuration>

然而,我所得到的只是一个愚蠢的远程错误页面,上面没有任何有用的信息。 我还能做什么来关闭customErrors ?!


当前回答

为了给这个问题添加更多的情况(因为这是我看到的,因为我有完全相同的问题),以下是我的答案:

在我的例子中,我从通用错误中剪切/粘贴文本,如果你想知道哪里出了问题,放

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

所以这应该已经解决了它,但当然没有!我的问题是有一个<系统。Web >节点上面几行(在编译和身份验证节点之前),以及结束标记</system。下面几行是Web >。一旦我修正了这个,问题就解决了。我应该做的是复制/粘贴这一行:

<customErrors mode="Off"/>

这篇文章摘自《我反复做的蠢事》的编年史,标题为“复制粘贴走向毁灭”一章。

其他回答

在你的web.config中有像æøå这样的特殊字符吗?如果是这样,请确保编码设置为utf-8。

在过去的几天里,这已经把我逼疯了,无法回避,但最终还是弄明白了:

在我的机器里。我在<system.web>下有一个条目:

<deployment retail="true" />

这似乎覆盖了你在web中指定的任何其他customError设置。配置文件,因此将上述条目设置为:

<deployment retail="false" />

现在意味着我可以再次看到我需要的详细错误消息。

这台机器。配置位于

32位

%windir%\Microsoft.NET\Framework\[version]\config\machine.config

64位

%windir%\Microsoft.NET\Framework64\[version]\config\machine.config

在这里尝试了所有的答案,结果是我的Application_Error方法有这样的:

Server.ClearError();
Response.Redirect("/Home/Error");

删除这些线和设置解决了这个问题。(客户端仍然被重定向到错误页面customErrors="On")。

我也遇到过同样的问题,原因是IIS运行的是ASP。NET 1.1,站点需要。NET 2.0。

这个错误消息没有起到任何作用,只是让我偏离了轨道好几个小时。

我的问题是,我有这个定义在我的web.config

<httpErrors errorMode="Custom" existingResponse="Replace">
  <remove statusCode="404" />
  <remove statusCode="500" />
  <error statusCode="404" responseMode="ExecuteURL" path="/Error/NotFound" />
  <error statusCode="500" responseMode="ExecuteURL" path="/Error/Internal" />
</httpErrors>