Asp.net会议很快就会到期

时间:2011-09-02 06:20:37

标签: asp.net session

我经常收到此消息并认为这不常见,我如何解决这个问题?

  

服务于应用程序池'mywebsite.com'的进程ID为'8052'的工作进程已请求回收,因为它已到达私有   字节内存限制。

3 个答案:

答案 0 :(得分:4)

嗨,由于超时,这不是一个过期,由于内存限制,它是一个应用程序池回收。通常非常糟糕。

如果您完全控制ASP.NET应用程序,我建议您仔细分析它并检测您分配的位置,而不是释放/处理大量内存。

了解用户经常使用的常见用例并开始调查这些用例可能会有所帮助。

你是否在内存中加载了很多byte []用于文件下载?

你在会话中保留了太多的引用吗?

一旦我们遇到类似的问题,我们几个星期后就发现我们在会话中存储了对页面的引用,因此所有访问过的页面始终保存在内存中。不容易找到,但一旦我们纠正了这个问题就解决了。

答案 1 :(得分:1)

你可能有内存泄漏。有许多可能的原因,可能是使用静态事件注册的会话或请求实例。尝试将过多数据加载到内存中的操作,会话超时设置太长等等。

您需要进行一些分析以确定原因。

当然,你也可能没有足够的内存用于用户数量并需要扩展,但除非你有大量的流量,否则这种情况极不可能。

答案 2 :(得分:0)

也许您的应用程序使用了大量内存?关于this post,您已达到应用程序允许的内存大小,IIS将重新启动应用程序池。