无论服务器上发生什么,我都希望将所有错误都捕获到default.aspx文件中。
在web.config中,我添加了:
<system.webServer>
<httpErrors errorMode="Custom" defaultResponseMode="ExecuteURL" defaultPath="~/Default.aspx" existingResponse="Replace" >
<remove statusCode="404"/>
<remove statusCode="500"/>
<error statusCode="404" path="~/Default.aspx" responseMode="ExecuteURL"/>
<error statusCode="500" path="~/Default.aspx" responseMode="ExecuteURL"/>
</httpErrors>
</system.webServer>
它不起作用。在一个问题中,我读到了允许覆盖HttpErrors部分,但是在configSection中添加一些内容不起作用,因为缺少了type元素。不知道那里需要什么。
<configSections>
<!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
<section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=5.0.0.0, Culture=neutral, PublicKeyToken=ZZZZZZZZZ" requirePermission="false" />
<section name="httpErrors" allowOverride="true"/>
</configSections>
答案 0 :(得分:1)
如果您想在ASP.NEt网站中处理404错误消息,那么您只需要在Web.Config中有以下部分 -
<customErrors mode="On" defaultRedirect="DefaultRedirectErrorPage">
<error statusCode="404" redirect="Home/About"/>
</customErrors>
详细了解ASP.Net中不同的错误处理方法 - Ref this MSDN Resource
如果您想在httpErrors级别执行此操作,请尝试此操作 -
<httpErrors errorMode="Custom" existingResponse="Replace">
<!--Remove inherited 500 error page setting -->
<remove statusCode='404' subStatusCode='-1'/>
<!--Override the inherited 500 error page setting with the 'My500.html' as its path-->
<error statusCode='404' subStatusCode='-1' prefixLanguageFilePath='' path='/home/index' responseMode='ExecuteURL'/>
</httpErrors>