ASP.NET应用程序池回收问题

| 我有一个既有WebForms又有WCF服务的Web项目安装程序。我遇到一个问题,就是我的应用程序似乎经常循环使用,我丢失了所有单例对象和会话值。它似乎不是超时问题,但可能是某种内存泄漏。我们可以使用该应用程序一分钟左右,然后再冒险,它会丢失所有内容。 我曾尝试监视目录中的更改,但没有发现文件系统有任何更改。我还在Application_Error中放置了一个断点,并且没有抛出任何错误。 我已经搜寻了两天,试图解决此问题。该应用程序是先前正常运行的项目的直接复制。我注意到不同的一件事是我上一个使用nHibernate作为后端的项目,而我切换到了使用Linq to SQL的项目。我注意到我没有正确地处理DataContext,因为我在服务调用内部将DataContext的一个实例变暗并返回一个值,然后才将其处置或将上下文设置为空,因此我认为它可能没有关闭。我试过将数据上下文存储在我的\“ repository \”类中,而不是将其存储在operationcontext内部,并明确地将其放置在Application_EndRequest上。那仍然没有解决问题。 有人对我有什么建议或地方吗? **更新**:我相信我找到了问题。我有一些正在使用EntitySet的对象,我正在使用可序列化的IList属性直接将这些对象序列化,并带有返回列表的linq查询。当我尝试在返回数据之前显式处理数据上下文时,由于数据上下文不再处于活动状态,我现在遇到了序列化那些EntitySet的问题。我将尝试使用常规列表(而不是EntitySet \)将数据复制到新的空白对象中,看看是否可以使我正确关闭数据上下文并解决问题。     
已邀请:
更新确实是一个不同的问题,但您实际上不应该尝试序列化ORM产生的内容-许多潜在的噩梦。为自己构建一些DTO。     
在IIS7控制台中,选择特定的应用程序池,然后在左侧的操作窗格中选择\“ Recycling ... \”。它是一个向导,可让您定义应用程序池的回收方式以及如何将回收事件记录到事件日志中(向导的第2页)。     

要回复问题请先登录注册