asp.net-mvc – 在ASP.NET MVC应用程序中使用Entity Framework和
发布时间:2020-12-16 09:21:10 所属栏目:asp.Net 来源:网络整理
导读:我无法让windsor容器和实体框架一起工作,这可能是由于我自己介绍的一个问题,但最终结果是我得到了可怕的内存泄漏. 我的应用程序设置了EDMX和存储库和服务,那些和objectcontext在我使用的windsor配置文件中设置为perwebrequest.但是,当我查看ANTS内存分析器中
我无法让windsor容器和实体框架一起工作,这可能是由于我自己介绍的一个问题,但最终结果是我得到了可怕的内存泄漏.
我的应用程序设置了EDMX和存储库和服务,那些和objectcontext在我使用的windsor配置文件中设置为perwebrequest.但是,当我查看ANTS内存分析器中的内存使用情况时,我发现尽管确认已调用Dispose,但仍然将对象上下文缓存保留为缓存的引用. 每个请求更多的动态代理都会卡在内存中.如果有其他人设法让自己陷入这样的泡菜中并且可以为我提供建议以摆脱它,我将不胜感激. 解决方法
通过将windsor容器的内核上的释放设置更改为:我已设法找到并解决问题:
_container.Kernel.ReleasePolicy = new NoTrackingReleasePolicy(); 虽然windsor容器调用perwebrequest组件的dispose方法,但它仍然挂在它们的引用上,这防止它们被垃圾收集. 在这种情况下,它持有引用的对象是ObjectContext类型.不幸的是,尽管处理了这个对象,但是这个对象中缓存的所有动态代理仍然有效地意味着我的数据库的副本(或者至少我正在访问的部分)被添加到内存中,每个请求都会导致它增加. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net – IIS返回找不到.mp4文件的404
- asp.net-mvc – MVC项目架构支持模块
- asp.net – 如何使用TLS电子邮件与web.config
- ASP.NET测量性能
- .net – 使用Model First方法时如何种子数据?
- asp.net-mvc – 如何设置AntiForgeryToken cookie路径
- .NET Core采用的全新配置系统[1]: 读取配置数据
- asp.net-mvc-4 – EF Code First,Model First或Db First?对
- asp.net-mvc – ASP.net MVC中的第二级视图
- asp.net-mvc – 使用NLog记录未处理的异常? ELMAH和NLog应
推荐文章
站长推荐
- asp.net-web-api – SelfHosted AspNet WebAPI与
- asp.net-mvc – .NET自定义成员资格.自定义登录/
- Asp.net MVC企业级开发(02)---Log4net
- asp.net – 使文本框不可编辑
- asp.net – 从AD成员资格提供程序运行时切换到SQ
- asp.net-mvc – 卸载OWIN和Identity包
- asp.net – 如何从HttpClient.PostAsJsonAsync()
- asp.net-mvc – 在Asp.net MVC中导出到Excel [已
- asp.net-mvc – 如何在Razor帮助器中使用UrlHelp
- asp.net-mvc – 如何在控制器中显示警报消息
热点阅读