Iis 7 IIS7集成管道-响应。结束而不是结束请求
我有以下代码,在我们升级到IIS7中的集成管道之前,它按预期工作Iis 7 IIS7集成管道-响应。结束而不是结束请求,iis-7,integrated-pipeline-mode,Iis 7,Integrated Pipeline Mode,我有以下代码,在我们升级到IIS7中的集成管道之前,它按预期工作 public void RedirectPermanently(string url, bool clearCookies) { Response.ClearContent(); Response.StatusCode = 301; Response.AppendHeader("Location", url); if(clearCookies) { Response.Cookies.Clear();
public void RedirectPermanently(string url, bool clearCookies)
{
Response.ClearContent();
Response.StatusCode = 301;
Response.AppendHeader("Location", url);
if(clearCookies)
{
Response.Cookies.Clear();
Response.Flush();
Response.End();
}
}
以前执行此方法时,如果ClearCookie为true,则响应将发送到客户端,请求处理将结束。现在在Integrated Pipeline Response下,End()似乎并没有结束处理。页面将继续运行,就好像从未调用过该方法一样
最大的问题是,为什么和什么改变了
谢谢。
响应。只有当HttpContext.IsInCancellablePeriod
为true时,End
才会引发ThreadAbortException
Response.Flush()
的一个副作用是,在集成管道模式下执行时,会导致HttpContext.isincancellperiod
变为false
尝试从代码中删除Response.Flush()
。结束响应将导致响应流被刷新