问题:打开工作流文档所需的时间过长

工作流设计器依赖于分析当前项目中的源代码来在多个不同的位置(例如,工作流设计图面和规则对话框 IntelliSense)提供更新的设计信息。这使工作流设计器可以在重新生成项目之前反映出源代码中的更改。

改善设计器性能的提示

下面的提示可以改善工作流设计器的性能。

提示 说明

将工作流中使用的所有类型移到工作流所在项目之外的其他项目。

将会重新分析所有接口、事件类型、自定义活动和帮助器类,以便每次在项目内更改工作流时都会更新设计时类型信息。例如,考虑这样一个解决方案:有 10 个项目,每个项目有 10 个工作流,并有 10 个关联的事件类型。将这些事件类型都移到一个项目有助于提高性能。

减少项目中工作流的数量。

每个工作流都直接地(对于 C# 和 Visual Basic)或间接地(对于 XAML)是一个类型,需要生成一个设计时类型。因此,如果一个项目中有 10 个工作流,则首次打开任何工作流也意味着分析其他所有工作流。基于功能对这些工作流进行分类并按照每个项目 2-3 个工作流的原则对它们进行分组可大大改善性能。

将大型状态机工作流重构为小型工作流。

将状态机重构为小型可重用工作流会减少冗余状态,从而改善设计器性能。

避免将长时运行的工作放入活动构造函数中。

由于在设计时期间会调用活动构造函数,因此如果将长时运行的工作项(例如,连接到数据库)放入构造函数中,会使设计器打开工作流文档的时间过长。

另请参见

概念

Windows Workflow Foundation 疑难解答

版权所有 (C) 2007 Microsoft Corporation。保留所有权利。