C# 为什么我的应用程序会点击;“内存不足异常”;在VisualStudio2010中调试时

C# 为什么我的应用程序会点击;“内存不足异常”;在VisualStudio2010中调试时,c#,workflow-foundation,out-of-memory,C#,Workflow Foundation,Out Of Memory,我目前正在测试一个应用程序,该应用程序通过TCP/IP接收35KB的数据,并调用一个具有代码活动的工作流将数据写入日志文件。整个过程每100毫秒重复一次,但经过多次迭代后,应用程序会出现“内存不足异常”。我使用perfmon分析是否存在内存泄漏,似乎托管内存正在泄漏。我尝试使用数据小于35KB的有效负载,但应用程序仍然出现内存不足异常。为了确认是否是内存泄漏(我怀疑内存碎片很大),我使用了Red Gate Ants内存分析器,但这次我在visual studio调试环境之外启动了该应用程序,奇怪

我目前正在测试一个应用程序,该应用程序通过TCP/IP接收35KB的数据,并调用一个具有代码活动的工作流将数据写入日志文件。整个过程每100毫秒重复一次,但经过多次迭代后,应用程序会出现“内存不足异常”。我使用perfmon分析是否存在内存泄漏,似乎托管内存正在泄漏。我尝试使用数据小于35KB的有效负载,但应用程序仍然出现内存不足异常。为了确认是否是内存泄漏(我怀疑内存碎片很大),我使用了Red Gate Ants内存分析器,但这次我在visual studio调试环境之外启动了该应用程序,奇怪的是,它没有显示任何内存泄漏症状,并且连续运行了50万次。有人能解释为什么会发生这种情况吗


在调试模式下运行测试安全吗?

我唯一的想法是运行时由于某种原因被阻止进行垃圾收集。可以显式调用收集器,所以也许可以尝试一下?@rivemey我尝试过gc.Collect();调用wf后,结果是一样的。这可能会帮助其他人发现这个问题。