zoukankan      html  css  js  c++  java
  • 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 使用微软企业库

  • 相关阅读:
    判断qq浏览器和uc浏览器?
    做前端能避免的错误总结
    css布局
    border-radius后面写px/rem与百分比有什么区别?
    vertical-align
    localstorage和cookie的设置方法和获取方法
    怎么让列表的文字只显示两行,多出的出现省略号?
    avalon在公共页面里面写的功能,怎么让某些页面不引用到这个方法和html?
    小程序
    webpack
  • 原文地址:https://www.cnblogs.com/lindping/p/winformcache.html
Copyright © 2011-2022 走看看