我有大约12,000条记录。
在我的一个工作流活动中,我整理了所有12,000条记录,并在每条记录上手动调用另一个活动。
该行看起来像:
IDictionary<string, object> results = WorkflowInvoker.Invoke(childActivity, args);
关于第11,500条记录,我收到AccessViolationException,并显示已到达受保护内存的消息。
我可以在任务管理器的“性能”选项卡中看到内存消耗量上升。
如何保持上述代码不增加每个记录的内存,从而最终节省内存?
谢谢, 约书亚
答案 0 :(得分:1)
您是在不同的工作流程中调用全新的工作流程吗?
放弃这个。创建NativeActivity并在Execute方法中使用NativeActivityContext.ScheduleFunc计划您的子活动(该工作流程)。在回调中,对结果执行您需要的操作,然后安排下一条记录。