작업 2: App.Config를 사용하여 런타임 서비스 구성
작업 1: 코드를 사용하여 런타임 서비스 구성에서는 WorkflowRuntime 클래스에 정의된 AddService 메서드를 호출하여 DefaultWorkflowSchedulerService 서비스를 Windows Workflow Foundation 런타임 엔진에 추가했습니다. 이 연습에서는 응용 프로그램 구성 파일을 사용하여 런타임 서비스를 구성합니다.
구성 파일을 사용하면 응용 프로그램에서 사용할 수 있는 Windows Workflow 런타임 엔진의 몇 가지 구성을 만들 수 있기 때문에 융통성이 더 큽니다. 예를 들어, 서비스를 사용하지 않는 구성을 만들거나 워크플로 실행 중에 유지 및 추적 기능을 사용하는 런타임 엔진 구성을 만들 수 있습니다. 또한 이러한 구성은 동일한 구성 파일에서 정의되고 필요한 경우 호스트 응용 프로그램에서 액세스될 수 있습니다.
참고
작업 1: 코드를 사용하여 런타임 서비스 구성을 완료한 경우 구성 파일을 사용하여 런타임 서비스를 구성하기 때문에 프로젝트의 모든 변경 내용을 실행 취소해야 합니다. 이 작업에 제공되는 프로젝트 파일은 이전 작업에서 추가된 코드를 포함하지 않으므로 좋은 시작 지점이 됩니다.
참고
이 연습을 차례대로 수행하는 것이 좋지만 반드시 그럴 필요는 없습니다. 샘플 프로젝트를 열고 다음 단원의 단계를 진행하여 이 연습을 시작할 수 있습니다.
응용 프로그램 구성 파일을 만들려면
프로젝트 디렉터리에서 App.config라는 새 파일을 만듭니다.
HostingWorkflows 프로젝트 파일에서 소스 파일이 포함된 ItemGroup 요소에 None이라는 새 요소를 추가합니다.
값이 "App.config"인 Include라는 특성을 추가합니다.
응용 프로그램 구성 파일을 정의하려면
App.config 파일에서 UTF-8 인코딩으로 표준 XML 처리 명령을 만듭니다.
<?xml version="1.0" encoding="utf-8" ?>
configuration이라는 루트 요소를 만듭니다.
<configuration> </configuration>
configuration 요소에서 configSections라는 새 요소를 만듭니다.
<configSections> </configSections>
configSections 요소에서 section이라는 새 요소를 만듭니다.
값이 "HostingWorkflowRuntime"인 name이라는 특성을 추가합니다.
값이 "System.Workflow.Runtime.Configuration.WorkflowRuntimeSection, System.Workflow.Runtime, Version=3.0.00000.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"인 type이라는 다른 특성을 추가합니다.
<section name="HostingWorkflowRuntime" type="System.Workflow.Runtime.Configuration.WorkflowRuntimeSection, System.Workflow.Runtime, Version=3.0.00000.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
참고
원하는 수의 구성 섹션을 만들 수 있지만 이 연습에서는 구성 섹션을 하나만 만들면 됩니다.
값이 "Hosting"인 name이라는 특성이 포함된 HostingWorkflowRuntime이라는 configuration 노드에서 새 요소를 만듭니다.
참고
이 요소 이름은 5단계에서 만든 섹션에 대한 name 특성에서 지정한 동일한 이름입니다. 여러 구성 섹션을 만드는 경우 각 섹션 이름에 해당하는 새 요소를 만듭니다.
<HostingWorkflowRuntime Name="Hosting"> </HostingWorkflowRuntime>
HostingWorkflowRuntime 요소에서 CommonParameters라는 새 요소를 만듭니다.
<CommonParameters/>
HostingWorkflowRuntime 요소에서 Services라는 새 요소를 만듭니다.
<Services> </Services>
Services 요소에서 add라는 새 요소를 만듭니다.
값이 System.Workflow.Runtime.Hosting.DefaultWorkflowSchedulerService, System.Workflow.Runtime, Version=3.0.00000.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35인 type이라는 특성을 추가합니다.
값이 1인 maxSimultaneousWorkflows라는 다른 특성을 추가합니다.
<add type="System.Workflow.Runtime.Hosting.DefaultWorkflowSchedulerService, System.Workflow.Runtime, Version=3.0.00000.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" maxSimultaneousWorkflows="1"/>
App.config 파일은 다음 구성과 유사합니다.
<?xml version="1.0" encoding="utf-8" ?> <configuration> <configSections> <section name="HostingWorkflowRuntime" type="System.Workflow.Runtime.Configuration.WorkflowRuntimeSection, System.Workflow.Runtime, Version=3.0.00000.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" /> </configSections> <HostingWorkflowRuntime Name="Hosting"> <CommonParameters/> <Services> <add type="System.Workflow.Runtime.Hosting.DefaultWorkflowSchedulerService, System.Workflow.Runtime, Version=3.0.00000.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" maxSimultaneousWorkflows="1"/> </Services> </HostingWorkflowRuntime> </configuration>
응용 프로그램 구성 파일을 사용하려면
Program 클래스의 Main 메서드에서 WorkflowRuntime 개체를 인스턴스화하는 데 사용되는 WorkflowRuntime 생성자에 매개 변수를 추가합니다.
이 매개 변수는 사용할 구성 섹션의 이름을 지정하는 String 형식입니다.
코드 컴파일
코드 컴파일에 대한 자세한 내용은 코드 컴파일을 참조하십시오.
작업 3: Windows Workflow 유지 서비스 사용에서는 SqlWorkflowPersistenceService 서비스를 사용하여 워크플로의 현재 상태를 저장하는 방법을 알아봅니다.
참고 항목
작업
작업 3: Windows Workflow 유지 서비스 사용
참조
DefaultWorkflowSchedulerService
System.Workflow.Runtime.Configuration
개념
기타 리소스
Workflow Configuration Formats
Copyright © 2007 by Microsoft Corporation. All rights reserved.