다음을 통해 공유


작업 2: 순차 워크플로에서 사용자 지정 활동 사용

이 자습서에서는 작업 1: 사용자 지정 활동 만들기에서 만든 WebTear 사용자 지정 활동을 WebTearWorkflow 순차 워크플로에 추가합니다.

이 워크플로에서는 호스트 응용 프로그램에서 URL 값에 대해 설정한 문자열 속성을 사용하여 WebTear 사용자 지정 활동에 정의된 UrlProperty에 바인딩합니다. WebTear 활동이 워크플로에서 실행되면 활동에서는 요청된 URL에서 텍스트를 다운로드하고 이벤트를 발생시킵니다. 이 작업의 워크플로에서는 이 이벤트에 대한 이벤트 처리기를 만들어 활동에서 다운로드한 데이터를 검색합니다.

참고

이 연습을 차례대로 수행하는 것이 좋지만 반드시 그럴 필요는 없습니다. 샘플 프로젝트를 열고 다음 단원의 단계를 진행하여 이 연습을 시작할 수 있습니다.

순차 워크플로 속성을 정의하려면

  1. WebTearWorkflow 클래스에서 pageUrl이라는 private String 필드와 pageData라는 private String 필드를 만듭니다.

    private string pageUrl;
    private string pageData;
    
  2. WebTearWorkflow 클래스에서 webTearActivity라는 private WebTearActivity 필드를 만듭니다.

    private WebTearActivity webTearActivity;
    
  3. WebTearWorkflow 클래스에서 Url이라는 public String 속성을 만듭니다.

    pageUrl 필드의 값을 반환하는 get 메서드와 pageUrl 필드의 값을 설정하는 set 메서드를 만듭니다.

    public string Url
    {
        get { return pageUrl; }
        set { pageUrl = value; }
    }
    
  4. WebTearWorkflow 클래스에서 Data라는 public String 속성을 만듭니다.

    pageData 필드의 값을 반환하는 get 메서드와 pageData 필드의 값을 설정하는 set 메서드를 만듭니다.

    public string Data
    {
        get { return pageData; }
        set { pageData = value; }
    }
    

WebTearActivity를 순차 워크플로에 추가하려면

  1. WebTearWorkflow 클래스의 InitializeComponent 메서드에서 activityBind1이라는 지역 ActivityBind 변수를 만들고 해당 개체의 새 인스턴스를 만듭니다.

    참고

    이 단계에 대한 코드는 CanModifyActivities 속성을 true로 설정하는 코드 뒤에 추가되어야 합니다.

    ActivityBind activitybind1 = new ActivityBind();
    
  2. InitializeComponent 메서드에서 webTearActivity 개체의 새 인스턴스를 만듭니다.

    this.webTearActivity = new WebTearActivity();
    
  3. webTearActivity 개체의 Name 속성을 "webTearActivity" 문자열로 설정합니다.

    this.webTearActivity.Name = "webTearActivity";
    
  4. activityBind1 속성의 Name 속성을 "WebTearWorkflow" 문자열로 설정하고 Path 속성을 "url" 문자열로 설정합니다.

    activitybind1.Name = "WebTearWorkflow";
    activitybind1.Path = "Url";
    
  5. webTearActivity_PageFinished라는 webTearActivity 개체에서 발생한 PageFinished 이벤트에 대한 이벤트 처리기를 추가합니다.

    이 이벤트의 대리자는 PageFinishedEventHandler 대리자입니다.

    참고

    이 단계는 C# 응용 프로그램을 만드는 경우에만 필요합니다. Visual Basic 응용 프로그램에 대한 이벤트 처리기는 9단계에서 Handles 키워드를 사용하여 만듭니다.

    this.webTearActivity.PageFinished += 
        new WebTearActivity.PageFinishedEventHandler
        (this.webTearActivity_PageFinished);
    
  6. webTearActivity 클래스에 정의된 SetBinding 메서드를 호출하여 UrlProperty 클래스 이름과 activityBind1 개체를 매개 변수로 해당 메서드에 전달합니다.

    this.webTearActivity.SetBinding(WebTearActivity.UrlProperty, 
        ((ActivityBind)(activitybind1)));
    
  7. Activities 컬렉션에 정의된 Add 메서드를 호출하여 워크플로의 Activities 컬렉션에 webTearActivity 개체를 추가합니다.

    this.Activities.Add(this.webTearActivity);
    
  8. sender라는 Object 매개 변수와 e라는 PageFinishedEventArgs 매개 변수를 받아들이는 webTearActivity_PageFinished라는 새 private 메서드를 WebTearWorkflow 클래스에서 만듭니다.

  9. webTearActivity_PageFinished 메서드에서 워크플로의 pageData 필드를 PageFinishedEventArgs 매개 변수에 정의된 Data 속성으로 설정합니다.

    private void webTearActivity_PageFinished(object sender, PageFinishedEventArgs e)
    {
        this.pageData = e.Data;
    }
    

코드 컴파일

코드 컴파일에 대한 자세한 내용은 코드 컴파일을 참조하십시오.

작업 3: 사용자 지정 활동 호스트 응용 프로그램 수정에서는 호스트 응용 프로그램에서 단추를 클릭할 때 워크플로를 시작할 수 있도록 합니다.

참고 항목

작업

작업 3: 사용자 지정 활동 호스트 응용 프로그램 수정

기타 리소스

자습서: 사용자 지정 활동 만들기
Custom Activities

Footer image

Copyright © 2007 by Microsoft Corporation. All rights reserved.