日期:2014-05-17  浏览次数:21127 次

如何抛出一个401错误?
我了解可以通过throw抛出一个异常。但是不管怎么写,抛出的状态代码都是500,即500错误
能不能抛出一个401错误?
(401-访问被拒绝。IIS定义了许多不同的401错误,它们指明更为具体的错误原因。这些具体的错误代码在浏览器中显示,但不在IIS日志中显示)

throw new System.Exception("登录错误");
throw new System.TypeAccessException("登录过期或没有权限");

------解决方案--------------------
throw new HttpResponseException(HttpStatusCode.Unauthorized);
------解决方案--------------------
 context.Response.Status = "401";
------解决方案--------------------
两种方法:
1、
throw new HttpResponseException(HttpStatusCode.Unauthorized);

2、

Response.Status = "401 Unauthorized";

详见:http://blog.csdn.net/yangdong0906/article/details/5492353