首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

关于HttpRuntime.Cache的丢失解决方法

2012-01-12 
关于HttpRuntime.Cache的丢失public static Mssql_Execute Exec(){if (HttpRuntime.Cache[Server.DataPro

关于HttpRuntime.Cache的丢失
public static Mssql_Execute Exec()
  {
  if (HttpRuntime.Cache["Server.DataProvider"] == null)
  {
  Mssql_Execute dp = new Mssql_Execute(svDataProvider.getConfig());
  HttpRuntime.Cache.Insert("Server.DataProvider", dp);
  }
  return (Mssql_Execute)HttpRuntime.Cache["Server.DataProvider"];
  }

我某个Cache的写法。但还是偶尔会提示HttpRuntime.Cache["Server.DataProvider"]为NULL的提示。如何能真正避免这种情况出现呢。

[解决办法]
这种情况是无法避免的,因为你放在Cache中的内容会在应用程序重启后被进程回收的。

导致应用程序重启的情况很多,比如内存占用高,bin目录的dll变动,web.config文件修改等。

在为null的时候自动重新加载就可以了,如果你想保持状态的话就把对象Serializable之后放到数据库或文件中,再加载就行了

热点排行