2015-09-30 33 views
3

我有一個asp.net混合web窗體/ mvc應用程序。當用戶嘗試上傳超過maxAllowedContentLength的文件時,我嘗試使用web.config中的httpErrors標記重定向到自定義錯誤頁面。httpErrors ExecuteUrl不重定向

雖然「重定向」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」正常工作?

+0

運氣好嗎?我一直在努力,整個下午,我的控制器動作從未被擊中(即使是絕對路徑),儘管這是確切的事情要做在這裏的許多答案建議... – Boris

+0

對不起@Boris,沒有運氣。 –

回答

-1

請檢查您的MVC控制器是否與您的應用程序本身位於同一個應用程序池中。

由於架構原因,如果IIS 7.0位於同一個應用程序池中,它只能執行該URL。使用重定向功能在不同的應用程序池中執行自定義錯誤。

+1

這個答案沒有任何意義。 –