我在 web.config 中使用 httpErrors 并具有以下内容:
<error statusCode="404" subStatusCode="1" responseMode="Redirect" path="http://www.somewhere-else.com" />
在自定义操作结果中执行以下操作,效果很好:
Response.StatusCode = 404;
Response.SubStatusCode = 1;
但是确定是否需要 404 重定向的代码位于堆栈的下方,因此与其返回操作结果,我更愿意抛出异常并停止进一步的执行。
对于没有 subStatusCode 的 httpErrors 中的错误条目,我可以抛出适当的 HttpException 并且它按预期工作:
throw new HttpException(400, "Bad Request");
但我需要 subStatusCode。我尝试在抛出 HttpException 之前设置 Response.SubStatusCode 但它被忽略并显示默认的 404 错误页面。
有什么办法吗?
(顺便说一句,我知道 subStatusCode 只是内部的,不会暴露给客户端)