다음을 통해 공유


문제점: 워크플로를 문서를 열 때 시간이 너무 오래 걸리는 경우

워크플로 디자이너는 현재 프로젝트의 소스 코드를 구문 분석하여 워크플로 디자인 화면 및 규칙 대화 상자 Intellisense 등의 다양한 위치에서 업데이트된 디자인 정보를 제공합니다. 이를 통해 워크플로 디자이너는 프로젝트를 다시 빌드하기 전에 소스 코드의 변경 내용을 반영합니다.

디자이너 성능을 높이는 팁

다음과 같은 팁을 통해 워크플로 디자이너의 성능을 높일 수 있습니다.

설명

워크플로에 사용된 모든 형식을 워크플로가 유지되는 프로젝트가 아닌 다른 프로젝트로 옮깁니다.

프로젝트 내에서 워크플로를 변경할 때마다 모든 인터페이스, 이벤트 형식, 사용자 지정 활동 및 도우미 클래스를 다시 구문 분석하여 디자인 타임 형식 정보를 업데이트합니다. 예를 들어 솔루션에 프로젝트가 10개이고, 각 프로젝트에 워크플로가 10개이며 10개의 이벤트 형식이 연결되어 있을 수 있습니다. 이러한 경우 이벤트 형식을 단일 프로젝트로 옮기면 성능이 향상됩니다.

프로젝트의 워크플로 수를 줄입니다.

각 워크플로는 디자인 타임 형식을 다시 빌드해야 하는 형식(C# 및 Visual Basic의 경우에는 직접적, XAML의 경우에는 간접적)입니다. 따라서 프로젝트에 워크플로가 10개 있는 경우 워크플로 중 하나를 처음으로 열면 다른 워크플로도 모두 구문 분석됩니다. 이러한 워크플로를 기능에 따라 분류하고 프로젝트마다 2-3개의 워크플로로 그룹화하면 성능이 크게 향상됩니다.

대규모 상태 시스템 워크플로를 작은 워크플로로 리팩터링합니다.

상태 시스템을 재사용 가능한 작은 워크플로로 팩터링하면 불필요한 상태의 수가 감소하므로 디자이너 성능이 향상됩니다.

장기 실행 작업은 활동 생성자에 배치하지 않습니다.

활동 생성자는 디자인 타임에 호출되므로 데이터베이스 연결과 같은 장기 실행 작업 항목을 생성자에 배치하면 디자이너에서 워크플로 문서를 열 때 시간이 오래 걸릴 수 있습니다.

참고 항목

개념

Windows Workflow Foundation 문제 해결

Copyright © 2007 by Microsoft Corporation. All rights reserved.