我有这样的代码:
context.HttpContext.Response.Clear();
context.HttpContext.Response.Write(htmlString);
context.HttpContext.Response.End();
但是当页面被加载时,我在它们上面有未公开的html标签。当我用Response.Flush()替换Response.End()时,它工作正常。 Response.End()和Response.Flush()之间有什么区别?
答案 0 :(得分:25)
Response.Flush
强制将所有当前缓冲的输出发送到客户端。该 在请求处理期间,可以多次调用Flush方法。
到Response.End
将所有当前缓冲的输出发送到客户端,停止执行 页面,并引发EndRequest事件。
如果您在Response.Write之后没有对页面进行任何处理并且想要停止处理页面,则应该尝试使用此代码。
context.HttpContext.Response.Clear();
context.HttpContext.Response.Write(htmlString);
context.HttpContext.Response.Flush(); // send all buffered output to client
context.HttpContext.Response.End(); // response.end would work fine now.