C# 应用程序状态是否为system.web.httpcontent.cache?
应用程序状态()是否与使用System.Web.Caching API相同 i、 eC# 应用程序状态是否为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.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应用程序中使用它
正如其他受访者所说的那样