首先,我看到了这个问题:
IIS Express - increse memory limit
但不重复,因为所有答案都指向64位版本的IIS Express。我需要支持32位! 32位可以支持每个进程2 GB的RAM。
我正在调试一个奇怪的问题。所以我创建了一个工作正常的控制台应用程序:
//Simplifiy my application logic
var trash = new List<int>();
long mbUsed = 0;
while (mbUsed < 600)
{
for (var i = 0; i < 100000; i++)
{
trash.Add(i);
}
GC.Collect();
mbUsed = Process.GetCurrentProcess().WorkingSet64 / 1024 / 1024;
Console.WriteLine(mbUsed + " MB used");
}
//Creating a image
var bitmap = new Bitmap(2000, 4000);
基本上它将RAM填充到600 MB,然后尝试创建一个大图像。
现在,如果我在MVC Action中粘贴相同的代码,那么我会得到一个OutOfMemoryException:
如果我读得正确,我使用的不到500 MB。
那么如何使用更多内存呢?对于普通的IIS,我可以在application pool上更改它。