다음을 통해 공유


Correlated Local Service 샘플

Download sample

이 샘플에서는 워크플로 인스턴스에 상호 관련된 이벤트를 발생시키기 위해 로컬 서비스에서 상관 관계 특성을 사용하는 것을 보여 줍니다. 상관 관계 특성은 워크플로 인스턴스가 로컬 서비스 인터페이스에서 동일한 이벤트의 서로 다른 인스턴스를 수신하고 있을 가능성이 있을 때 로컬 서비스 인터페이스에서 사용해야 합니다.

이 샘플에서는 워크플로가 작업 두 개를 만든 다음 이 작업이 완료되었음을 동일한 로컬 서비스 이벤트가 알릴 때까지 대기합니다. 그러한 경우 외부 코드에서 워크플로에 대한 이벤트를 발생시킬 때 로컬 서비스 인프라는 발생하는 이벤트에 있는 데이터(상관 관계 값)를 기반으로 하여 이 이벤트를 워크플로 인스턴스의 해당 HandleExternalEventActivity 활동으로 라우팅해야 합니다.

ExternalDataExchangeAttribute 특성은 로컬 서비스가 워크플로와의 데이터 교환에 참여하고 있음을 나타내는 필수 특성입니다.

CorrelationParameterAttribute 특성은 기본적으로 상관 관계 값이 인터페이스에 정의된 메서드 및 이벤트에서 지정한 이름의 매개 변수에 있음을 나타냅니다. 샘플 중 다음 코드는 CorrelationParameterAttribute 특성의 사용을 보여 줍니다.

[CorrelationParameter("taskId")]
public interface ITaskService

CorrelationInitializerAttribute 특성은 특성을 사용하는 메서드가 상관 관계 값을 초기화했으며 따라서 워크플로에서 로컬 서비스 인터페이스에 정의된 다른 작업에 앞서 이 메서드가 가장 먼저 나타나야 유효성 검사가 성공할 수 있음을 나타냅니다. 샘플 중 다음 코드는 CorrelationInitializerAttribute 특성의 사용을 보여 줍니다.

[CorrelationInitializer]
void CreateTask( string taskId, string assignee, string text );

CorrelationAliasAttribute 특성은 CorrelationParameterAttribute 특성이 가리키는 위치가 아닌 곳으로부터 상관 관계 값을 가져와야 할 때 해당 메서드 또는 이벤트의 CorrelationParameterAttribute 특성 설정을 재정의합니다.

각 작업이 만들어지면 작업 서비스는 작업이 만들어졌음을 사용자에게 알리는 메시지 상자를 표시합니다. 확인 단추를 누르면 해당 작업 ID에 대해 작업을 완료하기 위한 이벤트가 발생합니다. 이는 CreateTask 활동에서 설정된 속성과 동일하므로 이벤트는 알맞은 TaskCompleted 활동과 상호 관련됩니다.

이 샘플을 빌드하려면

  1. 샘플 다운로드를 클릭하여 샘플을 다운로드합니다.

    이렇게 하면 샘플 프로젝트가 로컬 하드 디스크에 추출됩니다.

  2. 시작을 클릭하고 프로그램, Microsoft Windows SDK를 차례로 가리킨 다음 CMD 셸을 클릭합니다.

  3. 샘플의 소스 디렉터리로 이동합니다.

  4. 명령 프롬프트에서 **MSBUILD <Solution file name>**을 입력합니다.

이 샘플을 실행하려면

  • SDK 명령 프롬프트 창에서 샘플의 주 폴더 아래에 있는 CorrelatedLocalService\bin\debug 폴더 또는 CorrelatedLocalService\bin 폴더(VB 버전의 샘플의 경우)의 .exe 파일을 실행합니다.

참고 항목

참조

HandleExternalEventActivity
ExternalDataExchangeAttribute
CorrelationInitializerAttribute
CorrelationParameterAttribute
CorrelationAliasAttribute

기타 리소스

Simple Input 샘플
통신 샘플

Footer image

Copyright © 2007 by Microsoft Corporation. All rights reserved.