使用Http Response.Disable内核缓存

时间:2011-12-16 22:34:43

标签: asp.net caching httpresponse

在ASP.NET中工作时,HttpResponse对象具有DisableKernelCache()方法。例如,HttpHandler可以:

public void ProcessRequest(HttpContext context)
{
    context.Response.DisableKernelCache();
    ...

MSDN有用地将此方法描述为:

  

禁用当前响应的内核缓存。

为什么我要使用此功能?

1 个答案:

答案 0 :(得分:6)

通过“内核缓存”,它们指的是HTTP驱动程序http.sys完成的缓存。

启用内核缓存(当您使用默认参数启用OutputCaching并且不在URL中使用查询字符串时会发生这种情况),内容将返回给用户,而不会回调到用户模式。您可能希望在需要向不同用户提供不同内容或需要过早使缓存过期等情况下禁用它。

某些ASP.NET功能(如VaryByContentEncoding)会为您隐式禁用内核缓存,以便正常运行。