winform下使用缓存

  我们都知道 asp.net的缓存类是System.Web.Caching.Cache,那么在 winform项目中如何使用缓存呢?

首先,我们要弄清楚Web程序与Winform程序的区别,一般来说,Web程序都是典型的三层架构,即数据库服务器+

web应用服务器+浏览器客户端,由于一个web服务端服务于多个客户端,这种情况下,在web应用程序上为一些静态的,

单例的,共享性的数据作缓存是很有必要,能大大提高系统性能,但是在winform程序来说,一般都是客户端程序+数据库服务器

的两层架构,即应用程序直接运行在客户端,而所谓的缓存,实质不过是可以作用于全局(整个程序域)的静态变量,

当然 加入了并发处理,更新处理等一些高级特性,由于winform程序是客户端程序,并发的几率很低,一般而言,设置 静态变量

就足以解决数据的缓存需求。当然,在某些情况下,winform也有缓存的需求,比如使用了WebService,Remoting或者WCF的分布式应用程序,

尽管客户端是winform程序,但其框架实质与Web程序是一致的,在使用了远程分布技术的服务端程序上,使用缓存是很有必要的。

当然,严格来说,这与主题 “winform下使用缓存”并不相关了,我要阐述的问题其实是在非web应用程序下如何使用缓存。

1 添加对system.web.dll的引用,直接使用System.Web.HttpRuntime.Cache。

2 使用AppDomain.CurrentDomain.SetData与GetData方法。比较简单,貌似连删除的功能都没有

3 自行实现(其实就是一个单例模式的hashtable或者dictionary,并作加锁的并发处理)

4 使用微软企业库

原文地址:https://www.cnblogs.com/lindping/p/winformcache.html