When should I set HttpResponse.SuppressContent to true(何时应将HttpResponse.SuppressContent设置为True)
问题描述
我编写了用于验证url的HTTP模块,如果URL包含特殊符号,我将重定向到根目录。
我找到了不同的示例,有人建议将HttpResponse.SuppressContent属性设置为True。但我不确定在这种情况下会发生什么。MSDN表示它正在指示是否向客户端发送HTTP内容,这是否意味着重定向不会由客户端发起,而是由服务器发起?
推荐答案
默认情况下,ASP.Net缓冲处理程序的输出。Response.SupressContent阻止将该内容发送到客户端,但仍将发送标头。
示例1-带缓冲和SupressContent=FALSE的输出
原始http响应:
示例2-带缓冲和SupressContent=True的输出
原始http响应:
请注意,此输出没有内容。
您的问题具体是关于重定向会发生什么。
示例3-SupressContent=True时重定向
原始http响应:
注意仍然有一具身体。这是因为我们没有允许请求完全处理。默认情况下,Response.ReDirect将引发异常,并且Response.SupressContent属性未设置为True。如果我们将False传递给第二个参数,则它类似于上面的示例。
示例4-当SupressContent=True时重定向,并且Response.ReDirect不引发异常。
原始http响应:
这篇关于何时应将HttpResponse.SuppressContent设置为True的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!