Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/337.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# ASP.NET MVC 3缓存持续时间_C#_Asp.net Mvc 3_Caching - Fatal编程技术网

C# ASP.NET MVC 3缓存持续时间

C# ASP.NET MVC 3缓存持续时间,c#,asp.net-mvc-3,caching,C#,Asp.net Mvc 3,Caching,我有一个ASP.NET MVC 3应用程序托管在IIS上。此应用程序使用MemoryCache处理内存中的一些数据,以帮助最小化对我的数据库的点击。我希望这些数据可以缓存一天。在我的代码中,我设置了以下内容: List<MyObject> myItems = GetMyItems(); CacheItemPolicy cachePolicy = new CacheItemPolicy(); cachePolicy.AbsoluteExpiration = new DateTimeOf

我有一个ASP.NET MVC 3应用程序托管在IIS上。此应用程序使用MemoryCache处理内存中的一些数据,以帮助最小化对我的数据库的点击。我希望这些数据可以缓存一天。在我的代码中,我设置了以下内容:

List<MyObject> myItems = GetMyItems();
CacheItemPolicy cachePolicy = new CacheItemPolicy();
cachePolicy.AbsoluteExpiration = new DateTimeOffset(DateTime.Now.AddMinutes(1440));
Cache.Set("myCacheKey", myItems, cachePolicy);
List myItems=GetMyItems();
CacheItemPolicy cachePolicy=新的CacheItemPolicy();
cachePolicy.AbsoluteExpiration=新的DateTimeOffset(DateTime.Now.AddMinutes(1440));
Set(“myCacheKey”、myItems、cachePolicy);

而我的缓存似乎正在工作。但是,它似乎不会在缓存中停留预期的时间。是否需要在web.config中进行设置,如果需要,设置是什么?如果不是,我是否需要设置IIS设置以启用更长的缓存持续时间?

问题很可能在于您的应用程序池在停止使用后正在循环使用。当应用程序池被回收时,内存中的所有内容都将丢失

若您需要更持久的缓存,则需要切换到进程中未托管的缓存。有许多商业和开源缓存服务;我建议你选择其中一种

以下是一些缓存解决方案:


  • 除此之外。

    最有可能的问题在于,您的应用程序池在停止使用后正在回收。当应用程序池被回收时,内存中的所有内容都将丢失

    若您需要更持久的缓存,则需要切换到进程中未托管的缓存。有许多商业和开源缓存服务;我建议你选择其中一种

    以下是一些缓存解决方案:

  • 除其他外