C# System.Web.Hosting.HostingEnvironment.Cache是否等于HttpContext.Current.Cache?

C# System.Web.Hosting.HostingEnvironment.Cache是否等于HttpContext.Current.Cache?,c#,asp.net,caching,C#,Asp.net,Caching,我找到了解释如何使用缓存项过期为ASP.NET应用程序生成计划作业而不使用任何计划程序或windows服务的人。 这对我来说真的很有趣 在本文中,作者使用HttpContext.Current.Cache添加一个项目。所以当项目在缓存中过期时,可以进行处理 但在他的文章中,他从服务器向自己发出了一个“错误”请求,请求访问HttpContext,以访问缓存,并在前一个过期时再次添加项。 我尝试使用System.Web.Hosting.HostingEnvironment在没有任何HttpConte

我找到了解释如何使用缓存项过期为ASP.NET应用程序生成计划作业而不使用任何计划程序或windows服务的人。 这对我来说真的很有趣

在本文中,作者使用
HttpContext.Current.Cache
添加一个项目。所以当项目在缓存中过期时,可以进行处理

但在他的文章中,他从服务器向自己发出了一个“错误”请求,请求访问
HttpContext
,以访问缓存,并在前一个过期时再次添加项。 我尝试使用
System.Web.Hosting.HostingEnvironment
在没有任何HttpContext的情况下访问缓存(因此无需发出“DummyRequest”),它似乎可以工作


关于这个缓存有什么我不理解或不知道的吗HttpContext和HostingEnvironment缓存是否不同?我认为这是一回事,intellisense将两者描述为“应用程序缓存”,没有区别。

它们是相同的,都调用
HttpRuntime.cache
-源代码:

public static Cache System.Web.Hosting.HostingEnvironment.Cache
{
    get
    {
        return HttpRuntime.Cache;
    }
}

这也是MSDN上的状态:

主机环境.Cache
获取当前应用程序的缓存实例。
名称空间:System.Web.Hosting
程序集:System.Web(在System.Web.dll中)
参考:

HttpContext.Cache属性

获取当前应用程序域的缓存对象。
名称空间:System.Web
程序集:System.Web(在System.Web.dll中)

ref:

它们是相同的,都调用
HttpRuntime.Cache
-源代码:

public static Cache System.Web.Hosting.HostingEnvironment.Cache
{
    get
    {
        return HttpRuntime.Cache;
    }
}

这也是MSDN上的状态:

主机环境.Cache
获取当前应用程序的缓存实例。
名称空间:System.Web.Hosting
程序集:System.Web(在System.Web.dll中)
参考:

HttpContext.Cache属性

获取当前应用程序域的缓存对象。
名称空间:System.Web
程序集:System.Web(在System.Web.dll中)

ref:

两者都指向同一个缓存实例。在某些情况下,您无法获取
HttpContext.Current
。然后,您可以始终通过
System.Web.Hosting.HostingEnvironment.cache
作为回退来获取缓存。

两者都指向同一个缓存实例。在某些情况下,您无法获取
HttpContext.Current
。然后,您可以随时通过
System.Web.Hosting.HostingEnvironment.cache
获取缓存作为备用方法。

谢谢。事实上,在本文中,这家伙正在使用httpcontext条目来避免web应用程序的空闲时间。谢谢。事实上,在本文中,guy使用httpcontext条目来避免web应用程序的空闲时间。