2

我有一个奇怪的问题,我正在寻找一些调试指针。从网站中删除页面后,我会执行以下操作:

Response.StatusCode = 410;
Response.Status = "410 Gone";
return View("PageRemoved");

在开发环境中它工作正常。在 prod 中,浏览器只打印:“您请求的页面已被删除。” 但视图未呈现。在两种环境中都会返回 410 状态。在某一时刻,这是在生产中工作,但我不知道什么时候。

IIS 是否有可能截获 410 返回码并打印此消息?如果是这样,这将在 IIS 中的哪个位置进行设置?你将如何调试这个?(我已将日志语句放入代码中,两种环境中的代码路径相同。)

4

1 回答 1

5

IIS 可能会拦截错误响应并提供自定义页面。您可以为 IIS 中的 410 错误设置自定义错误页面,该页面将在您的站点上执行指定的 URL(如果您愿意,也可以是静态页面)。您可以在您的站点 > 错误页面 > 添加中找到此选项。

在返回结果之前,您还可以在控制器操作中尝试以下操作:

Response.TrySkipIisCustomErrors = true;
于 2011-06-16T13:04:12.047 回答