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

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

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

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


当前回答

在一个网站的目录树中,这个web应用程序设置在任何其他应用程序下面吗?检查所有的父网站。配置文件用于其他设置(如果有的话)。同时,将您的目录设置为IIS中的应用程序目录。

其他回答

如果可以访问事件查看器,通常可以在它中找到有关错误的更多信息。您的提供者也可能通过在其机器中覆盖自定义错误来完全阻止自定义错误的显示。config,或者将retail属性设置为true (http://msdn.microsoft.com/en-us/library/ms228298(VS.80).aspx)。

我尝试了这里描述的大部分方法。我用的是VWD和默认网页。配置文件包含:

    <customErrors mode="RemoteOnly" defaultRedirect="GenericErrorPage.htm">
        <error statusCode="403" redirect="NoAccess.htm" />
        <error statusCode="404" redirect="FileNotFound.htm" />
    </customErrors>

我将mode="RemoteOnly"更改为mode="Off"。还是不高兴。 然后我使用IIS管理器,属性,ASP。Net选项卡,编辑配置,然后选择CustomeErrors选项卡。仍然显示RemoteOnly。我将其更改为Off,最后我可以看到详细的错误消息。

当我浏览网页的时候。我看到在system.web中有两个CustomErrors节点;我刚刚注意到第二个条目(我正在更改的条目是在注释中)。所以尽量不要用记事本来检查网页。远程服务器上的配置。

但是,如果你使用IIS编辑配置的东西,它会抱怨web.config中的错误。然后你就可以排除所有关于"你的web.config中是否有XML语法错误"的答案

如果您仍然在获取该页面,则很可能在通过Web之前它就已经爆炸了。配置

确保ASP。Net拥有。Net框架文件夹、IIS元数据库等所需的权限。你有办法检查那个ASP。Net是否正确安装并在IIS中正确关联?

编辑:在格雷格的评论之后,我突然想到,我以为你发布的是你整个非常小的网络。Config,还有别的吗?如果是这样,你能张贴整个web.config吗?

对我来说,这是网络上的一个错误。在system.web上面配置。

文件blah不存在,所以它会抛出一个错误。因为它还没有进入系统。Web部分,但它正在使用服务器的默认设置CUstomErrors (On)

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

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

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

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

<customErrors mode="Off"/>

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