CallExternalMethodActivity 클래스
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
주의
The System.Workflow.* types are deprecated. Instead, please use the new types from System.Activities.*
로컬 서비스의 메서드를 호출하는 데 사용되는 워크플로 통신 활동을 정의합니다. 이 활동은 로컬 서비스를 통해 워크플로에서 호스트로 데이터를 보내는 데 사용됩니다.
public ref class CallExternalMethodActivity : System::Workflow::ComponentModel::Activity, System::Workflow::ComponentModel::IDynamicPropertyTypeProvider
[System.Workflow.ComponentModel.Compiler.ActivityValidator(typeof(System.Workflow.Activities.CallExternalMethodActivityValidator))]
public class CallExternalMethodActivity : System.Workflow.ComponentModel.Activity, System.Workflow.ComponentModel.IDynamicPropertyTypeProvider
[System.Workflow.ComponentModel.Compiler.ActivityValidator(typeof(System.Workflow.Activities.CallExternalMethodActivityValidator))]
[System.Obsolete("The System.Workflow.* types are deprecated. Instead, please use the new types from System.Activities.*")]
public class CallExternalMethodActivity : System.Workflow.ComponentModel.Activity, System.Workflow.ComponentModel.IDynamicPropertyTypeProvider
[<System.Workflow.ComponentModel.Compiler.ActivityValidator(typeof(System.Workflow.Activities.CallExternalMethodActivityValidator))>]
type CallExternalMethodActivity = class
inherit Activity
interface IDynamicPropertyTypeProvider
[<System.Workflow.ComponentModel.Compiler.ActivityValidator(typeof(System.Workflow.Activities.CallExternalMethodActivityValidator))>]
[<System.Obsolete("The System.Workflow.* types are deprecated. Instead, please use the new types from System.Activities.*")>]
type CallExternalMethodActivity = class
inherit Activity
interface IDynamicPropertyTypeProvider
Public Class CallExternalMethodActivity
Inherits Activity
Implements IDynamicPropertyTypeProvider
- 상속
- 특성
- 구현
예제
다음 코드 예제에서는 사용자 지정 활동에서 CallExternalMethodActivity를 사용하여 외부 메서드를 호출하는 방법을 보여 줍니다. 이 코드 예제는 PurchaseOrderWorkflow.Designer.cs 파일에 있는 Listen SDK 샘플의 일부입니다. 자세한 내용은 수신 샘플합니다.
[System.Diagnostics.DebuggerNonUserCode()]
private void InitializeComponent()
{
this.CanModifyActivities = true;
this.Timeout = new System.Workflow.Activities.CodeActivity();
this.Delay = new System.Workflow.Activities.DelayActivity();
this.RejectPO = new System.Workflow.Activities.HandleExternalEventActivity();
this.ApprovePO = new System.Workflow.Activities.HandleExternalEventActivity();
this.OnTimeoutEventDriven = new System.Workflow.Activities.EventDrivenActivity();
this.OnOrderRejectedEventDriven = new System.Workflow.Activities.EventDrivenActivity();
this.OnOrderApprovedEventDriven = new System.Workflow.Activities.EventDrivenActivity();
this.POStatusListen = new System.Workflow.Activities.ListenActivity();
this.CreatePO = new System.Workflow.Activities.CallExternalMethodActivity();
//
// Timeout
//
this.Timeout.Name = "Timeout";
this.Timeout.ExecuteCode += new System.EventHandler(this.OnTimeout);
//
// Delay
//
this.Delay.Name = "Delay";
this.Delay.TimeoutDuration = System.TimeSpan.Parse("00:00:05");
//
// RejectPO
//
this.RejectPO.EventName = "OrderRejected";
this.RejectPO.InterfaceType = typeof(IOrderService);
this.RejectPO.Name = "RejectPO";
this.RejectPO.Invoked += new System.EventHandler<System.Workflow.Activities.ExternalDataEventArgs>(this.OnRejectPO);
//
// ApprovePO
//
this.ApprovePO.EventName = "OrderApproved";
this.ApprovePO.InterfaceType = typeof(IOrderService);
this.ApprovePO.Name = "ApprovePO";
this.ApprovePO.Invoked += new System.EventHandler<System.Workflow.Activities.ExternalDataEventArgs>(this.OnApprovePO);
//
// OnTimeoutEventDriven
//
this.OnTimeoutEventDriven.Activities.Add(this.Delay);
this.OnTimeoutEventDriven.Activities.Add(this.Timeout);
this.OnTimeoutEventDriven.Name = "OnTimeoutEventDriven";
//
// OnOrderRejectedEventDriven
//
this.OnOrderRejectedEventDriven.Activities.Add(this.RejectPO);
this.OnOrderRejectedEventDriven.Name = "OnOrderRejectedEventDriven";
//
// OnOrderApprovedEventDriven
//
this.OnOrderApprovedEventDriven.Activities.Add(this.ApprovePO);
this.OnOrderApprovedEventDriven.Name = "OnOrderApprovedEventDriven";
//
// POStatusListen
//
this.POStatusListen.Activities.Add(this.OnOrderApprovedEventDriven);
this.POStatusListen.Activities.Add(this.OnOrderRejectedEventDriven);
this.POStatusListen.Activities.Add(this.OnTimeoutEventDriven);
this.POStatusListen.Name = "POStatusListen";
//
// CreatePO
//
this.CreatePO.InterfaceType = typeof(IOrderService);
this.CreatePO.MethodName = "CreateOrder";
this.CreatePO.Name = "CreatePO";
this.CreatePO.MethodInvoking += new System.EventHandler(this.OnBeforeCreateOrder);
//
// PurchaseOrderWorkflow
//
this.Activities.Add(this.CreatePO);
this.Activities.Add(this.POStatusListen);
this.Name = "PurchaseOrderWorkflow";
this.CanModifyActivities = false;
}
<System.Diagnostics.DebuggerNonUserCode()> _
Private Sub InitializeComponent()
Me.CanModifyActivities = True
Me.CreatePO = New System.Workflow.Activities.CallExternalMethodActivity
Me.POStatusListen = New System.Workflow.Activities.ListenActivity
Me.OnOrderApprovedEventDriven = New System.Workflow.Activities.EventDrivenActivity
Me.OnOrderRejectedEventDriven = New System.Workflow.Activities.EventDrivenActivity
Me.OnTimeoutEventDriven = New System.Workflow.Activities.EventDrivenActivity
Me.ApprovePO = New System.Workflow.Activities.HandleExternalEventActivity
Me.RejectPO = New System.Workflow.Activities.HandleExternalEventActivity
Me.Delay = New System.Workflow.Activities.DelayActivity
Me.Timeout = New System.Workflow.Activities.CodeActivity
'
'Timeout
'
Me.Timeout.Name = "Timeout"
AddHandler Me.Timeout.ExecuteCode, AddressOf Me.OnTimeout
'
'Delay
'
Me.Delay.Name = "Delay"
Me.Delay.TimeoutDuration = System.TimeSpan.Parse("00:00:05")
'
'RejectPO
'
Me.RejectPO.EventName = "OrderRejected"
Me.RejectPO.InterfaceType = GetType(IOrderService)
Me.RejectPO.Name = "RejectPO"
AddHandler Me.RejectPO.Invoked, AddressOf Me.OnRejectPO
'
' ApprovePO
'
Me.ApprovePO.EventName = "OrderApproved"
Me.ApprovePO.InterfaceType = GetType(IOrderService)
Me.ApprovePO.Name = "ApprovePO"
AddHandler Me.ApprovePO.Invoked, AddressOf Me.OnApprovePO
'
' OnTimeoutEventDriven
'
Me.OnTimeoutEventDriven.Activities.Add(Me.Delay)
Me.OnTimeoutEventDriven.Activities.Add(Me.Timeout)
Me.OnTimeoutEventDriven.Name = "OnTimeoutEventDriven"
'
' OnOrderRejectedEventDriven
'
Me.OnOrderRejectedEventDriven.Activities.Add(Me.RejectPO)
Me.OnOrderRejectedEventDriven.Name = "OnOrderRejectedEventDriven"
'
' OnOrderApprovedEventDriven
'
Me.OnOrderApprovedEventDriven.Activities.Add(Me.ApprovePO)
Me.OnOrderApprovedEventDriven.Name = "OnOrderApprovedEventDriven"
'
' POStatusListen
'
Me.POStatusListen.Activities.Add(Me.OnOrderApprovedEventDriven)
Me.POStatusListen.Activities.Add(Me.OnOrderRejectedEventDriven)
Me.POStatusListen.Activities.Add(Me.OnTimeoutEventDriven)
Me.POStatusListen.Name = "POStatusListen"
'
' CreatePO
'
Me.CreatePO.InterfaceType = GetType(IOrderService)
Me.CreatePO.MethodName = "CreateOrder"
Me.CreatePO.Name = "CreatePO"
AddHandler Me.CreatePO.MethodInvoking, AddressOf Me.OnBeforeCreateOrder
'
' PurchaseOrderWorkflow
'
Me.Activities.Add(Me.CreatePO)
Me.Activities.Add(Me.POStatusListen)
Me.Name = "PurchaseOrderWorkflow"
Me.CanModifyActivities = False
End Sub
설명
참고
이 자료에서는 더 이상 사용되지 않는 형식과 네임스페이스에 대해 설명합니다. 자세한 내용은 Deprecated Types in Windows Workflow Foundation 4.5(Windows Workflow Foundation 4.5에서 사용되지 않는 형식)를 참조하세요.
로컬 서비스는 로컬 서비스 인터페이스(ExternalDataExchangeAttribute로 표시된 인터페이스)를 구현하는 클래스이며 ExternalDataExchangeService에 추가됩니다.
참고
외부 메서드를 호출할 때 해당 메서드의 모든 매개 변수가 복제됩니다. 매개 변수 형식이 를 Clone
구현ICloneable하는 경우 메서드가 호출되거나 를 사용하여 직렬화되고 역직렬화됩니다BinaryFormatter.
생성자
CallExternalMethodActivity() |
사용되지 않음.
CallExternalMethodActivity 클래스의 새 인스턴스를 초기화합니다. |
CallExternalMethodActivity(String) |
사용되지 않음.
활동 이름을 사용하여 CallExternalMethodActivity 클래스의 새 인스턴스를 초기화합니다. |
필드
CorrelationTokenProperty |
사용되지 않음.
DependencyProperty 속성을 대상으로 하는 CorrelationToken를 나타냅니다. |
InterfaceTypeProperty |
사용되지 않음.
DependencyProperty 속성을 대상으로 하는 InterfaceType를 나타냅니다. |
MethodInvokingEvent |
사용되지 않음.
DependencyProperty 이벤트를 대상으로 하는 MethodInvoking를 나타냅니다. |
MethodNameProperty |
사용되지 않음.
DependencyProperty 속성을 대상으로 하는 MethodName를 나타냅니다. |
ParameterBindingsProperty |
사용되지 않음.
DependencyProperty 속성을 대상으로 하는 ParameterBindings를 나타냅니다. |
속성
CorrelationToken |
사용되지 않음.
외부 메서드의 CorrelationToken을 가져오거나 설정합니다. |
Description |
사용되지 않음.
Activity에 대한 사용자 정의 설명을 가져오거나 설정합니다. (다음에서 상속됨 Activity) |
DesignMode |
사용되지 않음.
이 인스턴스가 디자인 모드 또는 런타임 모드에 있는지 나타내는 값을 가져옵니다. (다음에서 상속됨 DependencyObject) |
Enabled |
사용되지 않음.
실행 및 유효성 검사에 이 인스턴스를 사용할 수 있는지 여부를 나타내는 값을 가져오거나 설정합니다. (다음에서 상속됨 Activity) |
ExecutionResult |
사용되지 않음.
이 인스턴스를 실행하려는 마지막 시도의 ActivityExecutionResult를 가져옵니다. (다음에서 상속됨 Activity) |
ExecutionStatus |
사용되지 않음.
이 인스턴스의 현재 ActivityExecutionStatus를 가져옵니다. (다음에서 상속됨 Activity) |
InterfaceType |
사용되지 않음.
ExternalDataExchangeAttribute가 있는 외부 메서드의 선언 인터페이스를 가져오거나 설정합니다. |
IsDynamicActivity |
사용되지 않음.
활동이 워크플로 인스턴스의 기본 ActivityExecutionContext 내에서 실행 중인지 여부에 대한 정보를 가져옵니다. (다음에서 상속됨 Activity) |
MethodName |
사용되지 않음.
ExternalDataExchangeService로 등록된 로컬 서비스에서 호출할 메서드의 이름을 가져오거나 설정합니다. |
Name |
사용되지 않음.
이 인스턴스의 이름을 가져오거나 설정합니다. 이 이름은 워크플로 프로젝트에 사용되는 프로그래밍 언어의 변수 명명 규칙을 따라야 합니다 (다음에서 상속됨 Activity) |
ParameterBindings |
사용되지 않음.
외부 메서드의 형식 매개 변수 목록에 있는 바인딩 가능한 매개 변수의 컬렉션을 가져옵니다. |
Parent |
사용되지 않음.
이 CompositeActivity이 들어 있는 Activity를 가져옵니다. (다음에서 상속됨 Activity) |
ParentDependencyObject |
사용되지 않음.
DependencyObject 그래프의 부모 DependencyObject를 가져옵니다. (다음에서 상속됨 DependencyObject) |
QualifiedName |
사용되지 않음.
활동의 정규화된 이름을 가져옵니다. 정규화된 활동 이름은 워크플로 인스턴스에서 항상 고유합니다. (다음에서 상속됨 Activity) |
Site |
사용되지 않음.
Site의 DependencyObject 구성 요소에 대한 참조를 가져오거나 설정합니다. (다음에서 상속됨 DependencyObject) |
UserData |
사용되지 않음.
사용자 지정 데이터를 이 클래스 인스턴스와 연결하는 IDictionary를 가져옵니다. (다음에서 상속됨 DependencyObject) |
WorkflowInstanceId |
사용되지 않음.
인스턴스와 연결된 Guid를 가져옵니다. (다음에서 상속됨 Activity) |
메서드
이벤트
Canceling |
사용되지 않음.
활동 실행이 취소될 때 발생합니다. (다음에서 상속됨 Activity) |
Closed |
사용되지 않음.
Activity에서 실행을 완료했을 때 발생합니다. (다음에서 상속됨 Activity) |
Compensating |
사용되지 않음.
Activity에서 보정 메서드를 실행할 때 발생합니다. (다음에서 상속됨 Activity) |
Executing |
사용되지 않음.
Activity가 실행될 때 발생합니다. (다음에서 상속됨 Activity) |
Faulting |
사용되지 않음.
인스턴스를 실행하는 동안 예외가 발생하면 이 이벤트가 발생합니다. (다음에서 상속됨 Activity) |
MethodInvoking |
사용되지 않음.
메서드를 호출하기 전에 발생합니다. |
StatusChanged |
사용되지 않음.
실행 중인 ActivityExecutionStatus의 Activity가 변경될 때 발생합니다. (다음에서 상속됨 Activity) |
명시적 인터페이스 구현
IComponent.Disposed |
사용되지 않음.
구성 요소의 Disposed 이벤트를 처리하는 메서드를 나타냅니다. (다음에서 상속됨 DependencyObject) |
IDynamicPropertyTypeProvider.GetAccessType(IServiceProvider, String) |
사용되지 않음.
지정된 속성의 액세스 형식을 반환합니다. |
IDynamicPropertyTypeProvider.GetPropertyType(IServiceProvider, String) |
사용되지 않음.
지정된 속성의 Type을 반환합니다. |
적용 대상
추가 정보
.NET