Tag: application pool

使用大量内存的IIS应用程序池进程

我的一个IIS应用程序池进程有一个非常奇怪的问题。 我最近得到了一个System.OutOfMemoryException错误,并且我一直试图找出究竟发生了什么。 基本上我有一个脚本,它使用Web服务从我们的DAM获取文件。 然后检查文件存储一个字节数组,然后使用Response输出文件。 唯一一个遇到问题的是PDF,当它们超过20MB时,它们似乎有时会导致错误。 如果我增加应用程序池中的内存,它会暂时解决问题。 我看了w3wp.exe进程,看到有时当我运行这个脚本时,它将内存增加到400MB,我们拥有的最大文件是45MB,这将导致这种类型的行为发生。 问题似乎每天晚上都会消失,早上它会工作一段时间然后再开始做同样的事情。 这个应用程序是c#asp.net应用程序。 它在sharepoint内部运行。 在观看了一段时间后,我注意到,由于这些PDF在浏览器窗口中呈现,直到文件完全下载,它才会从内存中释放。 这是有道理的,但我可以看到这有点像我的问题。 如果我有几个人加载文件,平均(没有文件下载)内存使用量为385,000 kb。它可以轻松达到900,000-1,100,000 KB,这是应用程序池的限制。 我不是在寻找一个确切的答案,而是更像是一个方向,因为我完全没有想法。

创建使用.NET 4.0的应用程序池

我使用以下代码创建一个应用程序池: var metabasePath = string.Format(@”IIS://{0}/W3SVC/AppPools”, serverName); DirectoryEntry newpool; DirectoryEntry apppools = new DirectoryEntry(metabasePath); newpool = apppools.Children.Add(appPoolName, “IIsApplicationPool”); newpool.CommitChanges(); 如何指定应用程序池应使用.NET Framework 4.0?