【问题标题】:ASP.NET MVC View not returned in prod environmentASP.NET MVC 视图未在 prod 环境中返回
【发布时间】:2011-06-06 03:30:24
【问题描述】:

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

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

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

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

【问题讨论】:

    标签: c# asp.net-mvc-3 http-status-code-410


    【解决方案1】:

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

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

    Response.TrySkipIisCustomErrors = true;
    

    【讨论】:

    • 吉布森先生 - 你是个天才!我需要坐下来检查 Response 对象的每个属性,看看里面还有什么其他的宝石。感谢您的帮助!
    猜你喜欢
    • 1970-01-01
    • 2011-10-15
    • 1970-01-01
    • 2010-10-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多