httpErrors ExecuteUrl不重定向

时间:2015-09-30 14:50:45

标签: asp.net-mvc iis-7

我有一个asp.net混合Web表单/ mvc应用程序。当用户尝试上传超过maxAllowedContentLength的文件时,我正在尝试使用web.config中的httpErrors标记重定向到自定义错误页面。

虽然“Redirect”responseMode工作正常,但我无法让“ExecuteUrl”responseMode工作。

使用IIS Express在Visual Studio 2013中进行单元测试时,以及部署到运行IIS 7.5的计算机时,都会出现此问题。

使用“重定向”和mvc控制器的完整路径可以正常工作:

    <httpErrors errorMode="Custom" existingResponse="Replace"> 
  <remove statusCode="404" subStatusCode="13" /> 
  <error statusCode="404" subStatusCode="13" prefixLanguageFilePath=""
     path="http://localhost:12345/Error/ErrorFileUploadSizeExceeded" responseMode="Redirect" /> 
</httpErrors>

但是,使用带有相对路径的“ExecuteUrl”不起作用(相反,我看到默认的iis 404页面,显然iis找不到相对路径):

    <httpErrors errorMode="Custom" existingResponse="Replace"> 
  <remove statusCode="404" subStatusCode="13" /> 
  <error statusCode="404" subStatusCode="13" prefixLanguageFilePath=""
     path="/Error/ErrorFileUploadSizeExceeded" responseMode="ExecuteURL" /> 
</httpErrors>

我需要更改什么才能让“ExecuteURL”正常工作?

1 个答案:

答案 0 :(得分:-1)

请检查您的MVC控制器是否与您的应用程序本身位于同一个应用程序池中。

  

出于架构原因,IIS 7.0只能在同一应用程序池中执行URL。使用重定向功能在不同的应用程序池中执行自定义错误。