C# WPF WF4.5重新托管设计器内存问题
我最近开发了一个WPF应用程序,它可以用一些自定义活动重新托管工作流设计器。 在以下场景之后,我遇到了内存问题(内存不足异常):我打开了一个包含150多个活动的旧工作流,并开始修改所有活动(打开一个窗口,修改一些数据,保存并关闭窗口),直到异常发生。 在这个阶段,我的应用程序使用了1.4GB的内存,所以我开始寻找解决方案。 知道我在应用程序中使用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[]==>List==>ResourceDictionaryCollection==>ResourceDictionary==>System.Windows.EffectiveValueEntry[]=>MyViewC# WPF WF4.5重新托管设计器内存问题,c#,wpf,mvvm,memory-leaks,workflow-foundation-4,C#,Wpf,Mvvm,Memory Leaks,Workflow Foundation 4,我最近开发了一个WPF应用程序,它可以用一些自定义活动重新托管工作流设计器。 在以下场景之后,我遇到了内存问题(内存不足异常):我打开了一个包含150多个活动的旧工作流,并开始修改所有活动(打开一个窗口,修改一些数据,保存并关闭窗口),直到异常发生。 在这个阶段,我的应用程序使用了1.4GB的内存,所以我开始寻找解决方案。 知道我在应用程序中使用MVVM,我使用数据和命令绑定,我的视图使用metro mahapps窗口中定义的window.close()命令正确关闭 我使用ANTS Memory
我真的很感谢你的帮助。谢谢。我在一个.net 4.0项目中遇到过这个问题。当时,工作流设计器存在一个已知的问题。我原以为这个问题已经在.NET4.5中解决了,但也许这个旧的解决方案会有些用处 以下内容允许您在其自己的应用程序域中封送工作流设计器。因此,它有效地允许您使用AppDomain隔离的WPF加载项加载设计器
对于我来说,这无疑消除了重新托管解决方案中出现的内存泄漏问题 我在一个.net 4.0项目中遇到过这个问题。当时,工作流设计器存在一个已知的问题。我原以为这个问题已经在.NET4.5中解决了,但也许这个旧的解决方案会有些用处 以下内容允许您在其自己的应用程序域中封送工作流设计器。因此,它有效地允许您使用AppDomain隔离的WPF加载项加载设计器
对于我来说,这无疑消除了重新托管解决方案中出现的内存泄漏问题 你在使用Autofac或其他IOC容器吗?不@helmsb,我不是你在使用Autofac或其他IOC容器吗?不@helmsb,我不是