日期:2014-05-18  浏览次数:21094 次

winform中运用缓存
我想问在
在winform中 用web中的Cache 会不会有什么不妥的地方?

我在http://www.398588.com/Article/T5/56.aspx上面 看了示例
仿着写了  
C# code
 Cache["1"] = 1;
为什么会报错说 System.Web.Caching.Cache是“类型”,此处被当做“变量使用”;

请各位大侠帮帮我

纠结很久了……


------解决方案--------------------
研究一下asp.net为何有缓存
------解决方案--------------------
Cache不就放在内存吗?winform一样可以使用内存的

------解决方案--------------------
探讨
引用:

Cache不就放在内存吗?winform一样可以使用内存的


winform该怎么使用内存的呢?

我没用过…… 给个例子什么……

拜托了!

------解决方案--------------------
winform的东西基本都在内存了,你还要什么缓存啊?
cache是把编译后的网页存放在内存中,有人请求时不用重新编译,这样节约资源。
------解决方案--------------------
如果用的是winform,基本上不用想这个问题,因为你的程序本身就在内存里运行着。
如果是web,缓存就是将常用的数据放到服务器的内存中,当有不同的客户请求相同的数据时,直接从内存读取,以此提高性能。
------解决方案--------------------
如果用的是winform,基本上不用想这个问题,因为你的程序本身就在内存里运行着。
如果是web,缓存就是将常用的数据放到服务器的内存中,当有不同的客户请求相同的数据时,直接从内存读取,以此提高性能。
支持!
------解决方案--------------------
报错的原因是:
在ASP.NET中,默认在_Default类中写代码,此类派生自Page类,Cache["1"]被认为是this.Cache["1"],即Page类的Cache属性中索引为“1“的元素,它是System.Web.Caching.Cache类的实例,为了程序员使用方便,在用户请求后,_Default类Application管线实例化时,其Cache属性(即this.Cache)也被实例化,所以在_Default类中写Cache["1"]是可以的。
在WinForm中,默认是在Form1类中写代码,此类不包含Cache属性,Cache["1"]被认为是对System.Web.Caching类进行索引器访问,所以报错。
关于缓存:
所谓缓存,是把获取或生成比较麻烦的结果性的东西,在内存中暂存。WinForm和ASP.NET的实现机制不同,建议不要在WinForm中使用System.Web.Caching。实际上,string s=streamReader1.ReadToEnd(),s变量本身就已经缓存了streamReader1所对应的文件内容,这样实现缓存就可以了。是什么需求令你想到Web中的缓存呢?
------解决方案--------------------
winfrom 直接用内存
用 数据字典