繁体   English   中英

WPF WF4.5重新托管的设计器内存问题

[英]WPF WF4.5 Rehosted Designer Memory Issues

我最近开发了一个WPF应用程序,该应用程序重新托管了带有一些自定义活动的工作流设计器。 在以下情况下,我遇到了内存问题(内存不足异常):我打开了一个有150多个活动的旧工作流程,并开始修改所有活动(打开一个窗口,修改一些数据,保存并关闭该窗口),直到出现以下情况:发生异常。 在此阶段,我的应用程序使用了1.4 GB的内存,因此我开始寻找解决方案。 知道我在应用程序中使用了MVVM,并且正在使用数据和命令绑定,因此可以使用Metro mahapps窗口中定义的window.close()命令正确关闭我的视图。

我使用ANTS Memory Profiler查找泄漏源,并在我的应用程序内存使用率为1.35 GB时拍摄了内存快照。 经过分析,保留在内存中的实例为System.Byte []类型,并且GC根目录的路径为:System.Byte [] ==> System.IO.MemoryStream ==> System.Windows.Baml2006.SharedStream ==> System.Windows.Baml2006.BamlBinaryReader ==> System.Windows.Baml2006.Baml2006Reader ==> System.Windows.ResourceDictionnary ==> System.Windows.ResourceDictionnary [] ==>列表==> ResourceDictionaryCollection ==> ResourceDictionary ==> System.Windows.EffectiveValueEntry [] ==> MyView

非常感谢您的帮助。 谢谢。

我在.net 4.0项目中遇到了此问题。 那时,这是工作流设计器的一个已知问题。 我以为该问题已在.net 4.5中解决,但也许这个旧解决方案可能有用。

以下链接允许您在其自己的应用程序域中封送工作流设计器。 因此,它有效地使您可以使用AppDomain隔离WPF加载项加载设计器。

这无疑消除了我们重新托管的解决方案中出现的内存泄漏问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM