【发布时间】:2015-12-28 10:10:45
【问题描述】:
我有一个 asp.net 混合网络表单/mvc 应用程序。当用户尝试上传超过我的 maxAllowedContentLength 的文件时,我尝试使用 web.config 中的 httpErrors 标记重定向到自定义错误页面。
虽然“重定向”响应模式工作正常,但我无法让“ExecuteUrl”响应模式工作。
在使用 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”工作?
【问题讨论】:
-
这个运气好吗?我整个下午都在苦苦挣扎,我的控制器动作永远不会被击中(即使是绝对路径),尽管这是这里很多答案中建议的确切做法......
-
对不起@Boris,运气不好。
标签: asp.net-mvc iis-7