2

这正式让我发疯......我有一个运行 ASP.Net 3.5 的 IIS7 网站。跟踪已关闭,并且我配置了自定义错误,但是当我访问 www.mysite.com/trace.axd 时,我收到一个标准的 ASP.Net YSOD 而不是我的自定义错误页面。返回的状态为 500,但使用 Cassini 或 Dev Server 时更奇怪的是状态为 403。

所以我的问题是如何在 live box 而不是标准的 ASP.Net YSOD 上返回我的自定义错误页面?

自定义错误配置:

<customErrors mode="RemoteOnly" defaultRedirect="~/Error.aspx" redirectMode="ResponseRewrite">
<error statusCode="404" path="~/404.aspx" redirect="~/404.aspx" responseMode="ExecuteURL" /></customErrors>

跟踪设置:

<tracing>
            <traceFailedRequests>
                <add path="*.aspx">
                    <traceAreas>
                        <add provider="ASP" verbosity="Verbose" />
                        <add provider="ASPNET" areas="Infrastructure,Module,Page,AppServices" verbosity="Verbose" />
                        <add provider="ISAPI Extension" verbosity="Verbose" />
                        <add provider="WWW Server" areas="Authentication,Security,Filter,StaticFile,CGI,Compression,Cache,RequestNotifications,Module" verbosity="Verbose" />
                    </traceAreas>
                    <failureDefinitions timeTaken="00:00:00" statusCodes="500" />
                </add>
            </traceFailedRequests>
        </tracing>

非常感谢这里的任何帮助,如果您需要其他任何帮助,请告诉我:)

4

1 回答 1

2

删除 Web.config 文件中的跟踪 HTTP 处理程序:

  <system.webServer>
    <!-- remove TraceHandler-Integrated - Remove the tracing handlers so that navigating to /trace.axd gives us a 
         404 Not Found instead of 500 Internal Server Error. -->
    <handlers>
      <remove name="TraceHandler-Integrated" />
      <remove name="TraceHandler-Integrated-4.0" />
    </handlers>
  </system.webServer>

导航到 /trace.axd 现在给我们一个 404 Not Found 而不是 500 Internal Server Error。

于 2015-03-04T12:26:43.500 回答