HttpApplication.GetOutputCacheProviderName(HttpContext) 方法

定义

获取为网站配置的默认输出缓存提供程序的名称。

public:
 virtual System::String ^ GetOutputCacheProviderName(System::Web::HttpContext ^ context);
public virtual string GetOutputCacheProviderName (System.Web.HttpContext context);
abstract member GetOutputCacheProviderName : System.Web.HttpContext -> string
override this.GetOutputCacheProviderName : System.Web.HttpContext -> string
Public Overridable Function GetOutputCacheProviderName (context As HttpContext) As String

参数

context
HttpContext

一个 HttpContext,提供对服务于 HTTP 请求的内部服务器对象的引用。

返回

String

默认提供程序的名称。

例外

contextnull 或是一个空字符串 ("")。

示例

以下示例演示如何以编程方式指定为转到 Advanced.aspx 页的任何 HTTP 请求命名 DiskCache 的缓存提供程序。

public override string GetOutputCacheProviderName(HttpContext context)  
{  
    if (context.Request.Path.EndsWith("Advanced.aspx"))  
        return "DiskCache";  
    else  
        return base.GetOutputCacheProviderName(context);  
}  
Public Overloads Overrides Sub GetOutputCacheProviderName(ByVal context _  
        As HttpContext) As String   
    If context.Request.Path.EndsWith("Advanced.aspx") Then   
        Return "DiskCache"   
    Else   
        Return MyBase.GetOutputCacheProviderName(context)   
    End If   
End Sub  

注解

可以重写此方法,并使用它返回为网站配置的任何输出缓存提供程序的名称。 ASP.NET 检索对命名提供程序的引用,并使用它存储当前正在执行的请求的输出缓存数据。

默认情况下,在 ASP.NET 中,所有 HTTP 响应、呈现的页面和控件都使用内存中输出缓存。 可以通过为 Web 应用程序指定不同的提供程序名称 defaultProvider来更改用于 Web 应用程序的默认输出缓存提供程序。

此外,还可以为单个控件和单个请求选择不同的输出缓存提供程序。 为不同的 Web 用户控件选择不同的输出缓存提供程序的最简单方法是使用页面或控件指令中的新 providerName 属性以声明方式执行此操作,如以下示例所示:

<%@ OutputCache Duration="60" VaryByParam="None"   
    providerName="DiskCache" %>  

若要为 HTTP 请求指定不同的输出缓存提供程序,请在 Global.asax 文件中重写此方法,以编程方式指定要用于特定请求的提供程序。 有关详细信息,请参阅 ASP.NET 缓存概述

适用于