IIS中出现内存不足异常

本文关键字:内存不足 异常 IIS | 更新日期: 2023-09-27 17:57:29

我有一个应用程序,它有MVC模板并使用REST。假设我打了一个休息电话,它击中了特定的方法

    void sample function() {
   // connects to db through entity framework
   // retrieves data and embeds in to list
   //returns JSON of data received.
   }

所以这里的问题是我测量了运行程序所需的内存。大约40000kb。现在,当我再次调用rest时,IIS中的内存不会被清理。它从40000kb开始,而不是零。最后,如果我调用了3或4次,就会出现内存不足异常。因此,每次调用后,我都需要清理IIS内存,相反,它会保留上一次调用的内存。如何释放所有先前调用的内存。我通过处理模型和所有其他可能性尝试了各种解决方案。如果部署在本地而不是IIS上,则该解决方案似乎有效。有人能帮我吗?

IIS中出现内存不足异常

如果垃圾回收是解决方案,那么简单的GC.Collect通常效率低下,并且出于性能原因,只有在真正需要时才应该调用它。当可用内存太低(低于作为过程参数提供的阈值)时,请尝试以下过程调用垃圾。

internal static void CollectGarbage(int SizeToAllocateInMo)
{
       long [,] TheArray ;
       try { TheArray =new long[SizeToAllocateInMo,125000]; }low function 
       catch { TheArray=null ; GC.Collect() ; GC.WaitForPendingFinalizers() ; GC.Collect() ; }
       TheArray=null ;
     }