相关疑难解决方法(0)

IIS7在设置Response.StatusCode时覆盖customErrors?

这里有一个奇怪的问题.每个人都知道,如果您使用web.config的customErrors部分来创建自定义错误页面,那么您应该将其设置Response.StatusCode为适当的.例如,如果我创建一个自定义404页面并将其命名为404.aspx,我可以放入<% Response.StatusCode = 404 %>内容以使其具有真正的404状态标题.

到目前为止跟着我?好.现在尝试在IIS7上执行此操作.期间我无法上班.如果Response.StatusCode在自定义错误页面中设置,IIS7似乎完全覆盖自定义错误页面,并显示其自己的状态页面(如果您已配置一个.)

有没有其他人看到这种行为,也许还知道如何解决它?它在IIS6下工作,所以我不知道为什么会发生变化.

注意:这与ASP.NET自定义404返回200 OK而不是404 Not Found中的问题不同

asp.net iis-7

98
推荐指数
3
解决办法
6万
查看次数

如何从ASP.NET MVC 3设置HTTP状态代码?

我们在前端使用OpenWeb js库,当发生某些类型的错误时,他们需要.NET中间层向他们发送特定的HTTP头状态代码.我试图通过这样做来实现这一点:

public ActionResult TestError(string id) // id = error code
{
    Request.Headers.Add("Status Code", id);
    Response.AddHeader("Status Code", id);
    var error = new Error();
    error.ErrorID = 123;
    error.Level = 2;
    error.Message = "You broke the Internet!";

    return Json(error, JsonRequestBehavior.AllowGet);
}
Run Code Online (Sandbox Code Playgroud)

它有点中途了.请参见屏幕截图: http状态代码http://zerogravpro.com/temp/pic.png

注意我在响应头中获得了400的状态代码,但我确实需要请求头中的400.相反,我得到"200 OK".我怎样才能做到这一点?

我进行调用的URL结构很简单:/ Main/TestError/400

.net c# asp.net-mvc-3

51
推荐指数
2
解决办法
8万
查看次数

标签 统计

.net ×1

asp.net ×1

asp.net-mvc-3 ×1

c# ×1

iis-7 ×1