这是使用MemoryCache缓存的一个例子。

private void btnGet_Click(object sender, EventArgs e)
{
ObjectCache cache = MemoryCache.Default;
string fileContents = cache["filecontents"] as string; if (fileContents == null)
{
CacheItemPolicy policy = new CacheItemPolicy(); List<string> filePaths = new List<string>();
filePaths.Add("c:\\cache\\example.txt"); policy.ChangeMonitors.Add(new
HostFileChangeMonitor(filePaths)); // Fetch the file contents.
fileContents =
File.ReadAllText("c:\\cache\\example.txt"); cache.Set("filecontents", fileContents, policy);
} Label1.Text = fileContents;
}

最早在.NET Framework中实现了 MemoryCache类,继承自ObjectCache。

最早只有asp.net中有缓存类Namespace:System.Web.Caching,但是该类不适合在 ASP.NET 应用程序外部使用。

以上资料来自:Docs .NET  .NET API 浏览器  System.Web.Caching Cache

地址:https://docs.microsoft.com/zh-cn/dotnet/api/system.web.caching.cache?view=netframework-4.7.2

 ---------------------------
20190807
Cache类不适合在 ASP.NET 应用程序外部使用。 它是设计和测试在提供的 Web 应用程序中缓存的 ASP.NET 中使用。 
对于其他类型的应用程序,如控制台应用程序或 Windows 窗体应用程序,请使用ObjectCache类。
 
内置MemoryCache类派生自ObjectCache类。 MemoryCache类是中的唯一具体对象缓存实现.NET Framework 4派生ObjectCache类。
 
 
MemoryCache 不是单一实例,但您应创建仅几个或者可能仅一个MemoryCache实例和缓存项的代码应使用这些实例。
 
示例代码
private void btnGet_Click(object sender, EventArgs e)
{
ObjectCache cache = MemoryCache.Default;
string fileContents = cache["filecontents"] as string; if (fileContents == null)
{
CacheItemPolicy policy = new CacheItemPolicy(); List<string> filePaths = new List<string>();
filePaths.Add("c:\\cache\\example.txt"); policy.ChangeMonitors.Add(new
HostFileChangeMonitor(filePaths)); // Fetch the file contents.
fileContents =
File.ReadAllText("c:\\cache\\example.txt"); cache.Set("filecontents", fileContents, policy);
} Label1.Text = fileContents;
}
 
 
 
 
 

最新文章

  1. C#微信公众号开发之网页授权oauth2.0获取用户基本信息(一)
  2. iOS开发中使用CocoaPods来管理第三方的依赖程序
  3. mysql 查看所有存储过程
  4. UVa 10892 (GCD) LCM Cardinality
  5. 判断是否为ie(包含ie11)
  6. HDU 2717 Catch That Cow
  7. 关于Ubuntu12.04下code::blocks不能使用debug解决方法
  8. 第四章 go语言 数组、切片和映射
  9. Pivotal开源基于PostgreSQL的数据库Greenplum
  10. gitlab钩子搭建
  11. VMware12 安装 Mac OS 10.12 步骤及设置优化教程
  12. Spring中@Transactional(rollbackFor = Exception.class)的作用
  13. slurmdbd.conf系统初始配置
  14. cxf的使用
  15. seo工具
  16. Python之L.pop()和del L[i]
  17. NAND FLASH驱动程序
  18. modern.IE
  19. python 多线程笔记(6)-- 闭包
  20. 在线测试正则表达式工具 jQuery.Validate验证库

热门文章

  1. sign
  2. tp3.2和Bootstrap模态框导入excel表格数据
  3. Delphi高效定制格式的FormatDateTime
  4. linux3.4.2之dma驱动
  5. DP_括号匹配序列问题
  6. Hadoop学习总结之Map-Reduce的过程解析111
  7. 20155212 实验三 敏捷开发与XP实践
  8. 20155212 2016-2017-2 《Java程序设计》第5周学习总结
  9. 20155226 mini DC 课堂测试补交
  10. 20155322 2016-2017-2《Java程序设计》课程总结