문제점: 워크플로를 문서를 열 때 시간이 너무 오래 걸리는 경우
워크플로 디자이너는 현재 프로젝트의 소스 코드를 구문 분석하여 워크플로 디자인 화면 및 규칙 대화 상자 Intellisense 등의 다양한 위치에서 업데이트된 디자인 정보를 제공합니다. 이를 통해 워크플로 디자이너는 프로젝트를 다시 빌드하기 전에 소스 코드의 변경 내용을 반영합니다.
디자이너 성능을 높이는 팁
다음과 같은 팁을 통해 워크플로 디자이너의 성능을 높일 수 있습니다.
팁 | 설명 |
---|---|
워크플로에 사용된 모든 형식을 워크플로가 유지되는 프로젝트가 아닌 다른 프로젝트로 옮깁니다. |
프로젝트 내에서 워크플로를 변경할 때마다 모든 인터페이스, 이벤트 형식, 사용자 지정 활동 및 도우미 클래스를 다시 구문 분석하여 디자인 타임 형식 정보를 업데이트합니다. 예를 들어 솔루션에 프로젝트가 10개이고, 각 프로젝트에 워크플로가 10개이며 10개의 이벤트 형식이 연결되어 있을 수 있습니다. 이러한 경우 이벤트 형식을 단일 프로젝트로 옮기면 성능이 향상됩니다. |
프로젝트의 워크플로 수를 줄입니다. |
각 워크플로는 디자인 타임 형식을 다시 빌드해야 하는 형식(C# 및 Visual Basic의 경우에는 직접적, XAML의 경우에는 간접적)입니다. 따라서 프로젝트에 워크플로가 10개 있는 경우 워크플로 중 하나를 처음으로 열면 다른 워크플로도 모두 구문 분석됩니다. 이러한 워크플로를 기능에 따라 분류하고 프로젝트마다 2-3개의 워크플로로 그룹화하면 성능이 크게 향상됩니다. |
대규모 상태 시스템 워크플로를 작은 워크플로로 리팩터링합니다. |
상태 시스템을 재사용 가능한 작은 워크플로로 팩터링하면 불필요한 상태의 수가 감소하므로 디자이너 성능이 향상됩니다. |
장기 실행 작업은 활동 생성자에 배치하지 않습니다. |
활동 생성자는 디자인 타임에 호출되므로 데이터베이스 연결과 같은 장기 실행 작업 항목을 생성자에 배치하면 디자이너에서 워크플로 문서를 열 때 시간이 오래 걸릴 수 있습니다. |
참고 항목
개념
Windows Workflow Foundation 문제 해결
Copyright © 2007 by Microsoft Corporation. All rights reserved.