一、在WebForm中主要是为了减轻Web服务器压力,在客户端提供了缓存机制,当用户访问的网页内容无变化的请求时就会调用缓存中的内容,这样一来减轻了服务器压力,避免无必要的重复操作,二来使用户网页浏览速度加快,用户体验更好。WebForm是“瘦客户端”。 二、在WinForm中,是否有必要减轻数据库等各类服务器压力呢?这些服务器在WebForm中也一般都是存在的,然而WinForm是把这些压力都集中在了客户端,不像WebForm是把这些压力集中到了Web服务器上,因此本来这就是一种“胖客户端”,再在客户端开放类似“瘦客户端”的缓存,岂不是类似“画蛇添足”,给客户端“火上浇油”吗?这是其一,其二WinForm并不会刷新自己的WinForm窗体,所以不会有明显用户体验不悦感,因此也就没有什么窗体的浏览速度的说法。
winform程序员运行之后几乎都是在内存中的,使用缓存的意义不大,几乎不需要考虑在winform中使用缓存。
webform中的缓存在客户端和服务器上都是存在的,只是意义不同,服务器的缓存是将常用的东西放入到缓存中,避免重复使用增加服务器的压力,客户端使用缓存是浏览器的基本功能。
winform使用缓存:
代码
System.Web.Caching.Cache c = System.Web.HttpRuntime.Cache;
if (c !=null)
...
{
c.Insert("1", "123141432432");
object o = c.Get("1");
Console.WriteLine(o);
}
时候项目里需要用窗体应用程序做一些小工具,碰到了需要缓存的问题。以上是解决办法,要追加System.Web的引用。尽管在Web命名空间里,非Web程序也可以使用。