C# 应用程序状态是否为system.web.httpcontent.cache?

C# 应用程序状态是否为system.web.httpcontent.cache?,c#,asp.net,caching,C#,Asp.net,Caching,应用程序状态()是否与使用System.Web.Caching API相同 i、 e System.web.httpcontent.current.cache[somekey]?不,它们不一样 ASP.Net缓存对象专门针对缓存内容或对象进行了优化,这些内容或对象的生存期很短,或者可以在定义的时间内生存。如果需要释放资源,它将被垃圾回收器分解,并且永远不能保证下次查看时放入缓存中的东西会在那里 应用程序是键值的全局集合,可用于以线程安全的方式(只要您安全地使用它)存储所有用户的全局信息。但是,除

应用程序状态()是否与使用System.Web.Caching API相同

i、 e


System.web.httpcontent.current.cache[somekey]?

不,它们不一样

ASP.Net缓存对象专门针对缓存内容或对象进行了优化,这些内容或对象的生存期很短,或者可以在定义的时间内生存。如果需要释放资源,它将被垃圾回收器分解,并且永远不能保证下次查看时放入缓存中的东西会在那里


应用程序是键值的全局集合,可用于以线程安全的方式(只要您安全地使用它)存储所有用户的全局信息。但是,除非您明确删除System.Application,否则不会从中删除任何内容。

不,它们不一样

ASP.Net缓存对象专门针对缓存内容或对象进行了优化,这些内容或对象的生存期很短,或者可以在定义的时间内生存。如果需要释放资源,它将被垃圾回收器分解,并且永远不能保证下次查看时放入缓存中的东西会在那里

应用程序是键值的全局集合,可用于以线程安全的方式(只要您安全地使用它)存储所有用户的全局信息。但是,除非您明确删除System.Application,否则不会从中删除任何内容。

您的意思可能是,不是
内容,并且与不同

应用程序状态用于在应用程序生命周期内保持相当静态的项(除非显式删除)。从您链接的页面可以看出,建议使用
应用程序

存储少量经常使用的数据,这些数据不会从一个用户更改到另一个用户

缓存本质上更为短暂,应该用于寿命更短(几秒到几分钟)的内容,并且项目的删除是自动管理的(取决于配置)。

您可能的意思是,不是
内容,并且与

应用程序状态用于在应用程序生命周期内保持相当静态的项(除非显式删除)。从您链接的页面可以看出,建议使用
应用程序

存储少量经常使用的数据,这些数据不会从一个用户更改到另一个用户


缓存本质上更为短暂,应该用于寿命更短(几秒到几分钟)的内容,并且自动管理项目的删除(取决于配置)。

答案在您自己的链接中。读一下

但是,在应用程序状态下存储大块数据可能会填满服务器内存,导致服务器将内存分页到磁盘。作为使用应用程序状态的替代方法,您可以使用ASP.NET缓存机制来存储大量应用程序数据。ASP.NET缓存还将数据存储在内存中,因此速度非常快;但是,ASP.NET会主动管理缓存,并在内存不足时删除项目


答案就在你自己的链接里。读一下

但是,在应用程序状态下存储大块数据可能会填满服务器内存,导致服务器将内存分页到磁盘。作为使用应用程序状态的替代方法,您可以使用ASP.NET缓存机制来存储大量应用程序数据。ASP.NET缓存还将数据存储在内存中,因此速度非常快;但是,ASP.NET会主动管理缓存,并在内存不足时删除项目

不一样

如果数据

  • 在应用程序的生命周期内是稳定的
  • 必须始终可用且不得清除
您将使用HttpApplicationState

如果数据

  • 在应用程序的生命周期中不一定需要
  • 频繁更改
  • 如果需要,可以清除(例如系统内存不足)
  • 如果很少使用,可以丢弃
  • 在某些条件下应无效/刷新(依赖项规则:时间跨度、日期、文件时间戳等)
然后使用缓存

其他重要区别:

  • 大量数据最好存储在缓存中,如果内存不足,服务器可以清除数据
  • 缓存对于多线程操作是安全的。第页。应用程序需要锁定
有关更多详细信息,请参见上的这篇文章

这个问题: 这是不一样的

如果数据

  • 在应用程序的生命周期内是稳定的
  • 必须始终可用且不得清除
您将使用HttpApplicationState

如果数据

  • 在应用程序的生命周期中不一定需要
  • 频繁更改
  • 如果需要,可以清除(例如系统内存不足)
  • 如果很少使用,可以丢弃
  • 在某些条件下应无效/刷新(依赖项规则:时间跨度、日期、文件时间戳等)
然后使用缓存

其他重要区别:

  • 大量数据最好存储在缓存中,如果内存不足,服务器可以清除数据
  • 缓存对于多线程操作是安全的。第页。应用程序需要锁定
有关更多详细信息,请参见上的这篇文章

这个问题:

实际上,我想说应用程序状态的主要目的是与经典ASP应用程序向后兼容,我永远不会在新的ASP.NET应用程序中使用它

正如其他受访者所说的那样