您的位置:首页 > 理论基础 > 计算机网络

解决MVC3 服务器无法在已发送 HTTP 标头之后设置状态 问题

2013-05-10 15:47 1731 查看
由于一开始就是学的MVC3,在之前也没有相关处理经验,网上查了很多资料都只是讲应该在请求发送到流之前做如下处理:

Response.BufferOutput = true;   

我在每一处跳转的地方 都加上,但问题依旧

?
这个问题其实不会影响网站的运行,代码执行后客户端会跳转成功,但是每次在查看网站运行状态的时候,都会看到如天书的异常信息,实在很烦

既然服务器已经在输出HTTP标头,那么我可不可以把这个标头信息都清除,然后重新设置呢,想到这里,我改进了一下代码并封装了一个方法以后备用

按 Ctrl+C 复制代码
public void RedirectUrl(string url)
{
this.Response.Clear();//这里是关键,清除在返回前已经设置好的标头信息,这样后面的跳转才不会报错
this.Response.BufferOutput = true;//设置输出缓冲
if (!this.Response.IsRequestBeingRedirected)//在跳转之前做判断,防止重复
{
this.Response.Redirect(url, true);
}
}
按 Ctrl+C 复制代码

搞定,世间清静了很多。

/article/5950147.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐