IIS中的内存exception

我有一个具有MVC模板并使用REST的应用程序。 假设我有一个rest电话,它会触及特定的方法

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

所以这里的问题是我测量了运行程序所需的内存。 它大约是40,000kb。 现在,当我给另一个rest时,内存不会在IIS中清理。它从40,000kb而不是零开始。 最后 ,如果我做3或4次调用,则会出现内存exception。 因此,每次调用后我都需要清理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 ; }