Winform中是否有类似ASP.NET中的Cache专门的缓存设施

misery2011 2012-04-29 08:37:21
如题,知道的请明示,谢谢。
...全文
260 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
startstartsvip 2012-05-01
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 hzzasdf 的回复:]

对了,这个也可以用:Microsoft Enterprise Library里有个Caching Application Block

http://msdn.microsoft.com/en-us/library/ff632023.aspx
[/Quote]

微软已经不退荐了
  • 打赏
  • 举报
回复
对了,这个也可以用:Microsoft Enterprise Library里有个Caching Application Block

http://msdn.microsoft.com/en-us/library/ff632023.aspx
misery2011 2012-04-29
  • 打赏
  • 举报
回复
好,感谢大家的回答,有点明白了,吼吼~~加到70分,结帖。
startstartsvip 2012-04-29
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 的回复:]

为啥?

最简单的一个功能,

C# code
HttpRuntime.Cache.Insert(key, MyConfigObject, new CacheDependency(filePath));


你自己写一遍,又怎么比得上人家只写一句话?!而且这还是最简单的一句。
[/Quote]

谁自己写一遍啊?

我问lz 的时候,我正在测试4.0 cache,干吗非要让我把你那行写一遍啊?



#7楼 的可行 改编自 MSDN

嘿嘿
Osiris4Net 2012-04-29
  • 打赏
  • 举报
回复
Winform是富客户端,WebForm是瘦客户端,Winform有必要缓存么o(╯□╰)o
xboxeer 2012-04-29
  • 打赏
  • 举报
回复
HttpRuntime这个东西唯一不放心的就是他是如何被创建和管理的 因为我在代码里面直接就写了HttpRuntime.Cache 没有报空异常 不知道有没有大牛可以解释下
  • 打赏
  • 举报
回复
正在看的一本书里,说.net 4.0 里推荐用System.Runtime.Caching.dll(命名空间是System.Runtime.Caching),这里抄一点代码:

ObjectCache cache = MemoryCache.Default;

string mystring = cache["MyString"] as string;

if(String.IsNullOrEmpty(mystring))
{
List<string> userFilePath = new List<string>();
userFilePath.Add(@"c:\my.xml");
CacheItemPolicy policy = new CacheItemPolicy();
policy.ChangeMonitors.Add(new HostFileChangeMonitor(userFilePath);

//取数据
...
cache.Set("MyString", "abcd", policy);
}
这里的HostFileChangeMonitor可以监视目录或者文件的变化,更新cache,另外还有SqlChangeMonitor,顾名思义应该是监视数据库变化的,具体没用过。
System.Web.Caching.Cache仍然可用,但是推荐使用System.Runtime.Caching,因为最新的增强功能都将放在这个dll里。
  • 打赏
  • 举报
回复
为啥?

最简单的一个功能,

HttpRuntime.Cache.Insert(key, MyConfigObject, new CacheDependency(filePath));


你自己写一遍,又怎么比得上人家只写一句话?!而且这还是最简单的一句。

startstartsvip 2012-04-29
  • 打赏
  • 举报
回复
明示: 是的有。

为啥要用Cache 呢?
  • 打赏
  • 举报
回复
呵呵,sorry, 是 System.Web.HttpRuntime。
  • 打赏
  • 举报
回复
System.Web.Runtime.HttpRuntime


通过 HttpRuntime.Cache 就可以访问Cache完整功能,将对象缓存在这里。
  • 打赏
  • 举报
回复
确保你的winform工程使用.net(而不是“.net客户端”),然后引用system.web.dll即可。
System.Web.Runtime.HttRuntime
这个类也可以使用在winform中。
xboxeer 2012-04-29
  • 打赏
  • 举报
回复

private void Form1_Load(object sender, EventArgs e)
{
//runTime = new HttpRuntime();
cache = HttpRuntime.Cache;
cache.Add("something", "something", null, Cache.NoAbsoluteExpiration, Cache.NoSlidingExpiration, CacheItemPriority.Default, null);
string something = cache["something"] as string;
}

asp.net内部就是这个

111,126

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧