加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

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

发布时间:2020-12-16 09:34:58 所属栏目:asp.Net 来源:网络整理
导读:我有一个Web项目设置,包含我的WebForms和WCF服务.我有一个问题,我的应用程序似乎经常回收,我失去所有单例对象和会话值.它似乎不是超时问题,但可能是某种内存泄漏.我们可以使用该应用程序一分钟左右然后bam它只是失去了一切. 我已经尝试监视目录中的更改,但发
我有一个Web项目设置,包含我的WebForms和WCF服务.我有一个问题,我的应用程序似乎经常回收,我失去所有单例对象和会话值.它似乎不是超时问题,但可能是某种内存泄漏.我们可以使用该应用程序一分钟左右然后bam它只是失去了一切.

我已经尝试监视目录中的更改,但发现文件系统根本没有任何更改.我还在Application_Error中放置了一个断点,并且没有抛出错误.

我一直在谷歌搜索两天试图解决这个问题.该应用程序是以前项目的直接复制,工作正常.我注意到的一件事是不同的是我的最后一个项目我使用nHibernate作为后端,这个项目我转而使用Linq to SQL.我注意到我没有正确处理DataContext,因为我在服务调用中记录了DataContext,并在处理或设置上下文之前返回一个值,所以我认为它可能没有关闭.我尝试将datacontext存储在我的“repository”类中,而不是将其存储在operationcontext中,并将其显式地放在Application_EndRequest上.那仍然没有解决问题.

任何人都有任何建议或地方我应该看?

**更新**:我相信我找到了我的问题.我有使用EntitySet的对象,我使用可序列化的IList属性直接将这些对象序列化,并返回列表的linq查询.当我在返回数据之前尝试显式处理我的datacontext时,我遇到了现在序列化这些EntitySet的问题,因为datacontext不再处于活动状态.我将尝试使用常规列表而不是EntitySet将数据复制到新的空白对象中,看看是否允许我正确关闭我的datacontext并解决我的问题.

解决方法

更新确实是一个不同的问题,但你真的不应该尝试序列化ORM产生的东西 – 很多潜在的噩梦.为自己建立一些DTO.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读