gpt4 book ai didi

asp.net - Page.Cache 与 HttpContext.Current.Cache

转载 作者:行者123 更新时间:2023-12-02 17:09:59 28 4
gpt4 key购买 nike

我阅读了一个Web应用程序的源代码,发现它使用Cache对象(Web.Caching.Cache)来缓存数据。在代码隐藏文件(aspx.cs 文件)中,它使用 Page.Cache 来获取 Cache,而在其他类定义文件中,它使用 HttpContext.Current.Cache 来获取 Cache。我想知道为什么它不使用相同的选项来获取缓存。有人可以解释 Page.Cache 和 HttpContext.Current.Cache 之间的区别吗?为什么要针对上面的每个上下文使用每一个。我可以对上述两种上下文使用 Page.Cache 或 HttpContext.Current.Cache 吗?提前致谢。

最佳答案

没有区别,前者使用当前页面实例,它是 Cache property ,后者通过 HttpContext.Current.Cache 使用static 方法这也可以在没有页面实例的静态方法中工作。

两者都引用相同的应用程序缓存。

因此您可以通过Page获取Cache,例如在Page_Load中:

protected void Page_load(Object sender, EventArgs e)
{
System.Web.Caching.Cache cache = this.Cache;
}

或者通过 HttpContext.Current 在静态方法中(在 HttpContext 中使用):

static void Foo()
{
var context = HttpContext.Current;
if (context != null)
{
System.Web.Caching.Cache cache = context.Cache;
}
}

关于asp.net - Page.Cache 与 HttpContext.Current.Cache,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23777663/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com