次の方法で共有


CallExternalMethodActivity クラス

定義

注意事項

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
属性
実装

カスタム アクティビティで CallExternalMethodActivity を使用して、外部メソッドを呼び出す方法を次のコード例に示します。 このコード例は、PurchaseOrderWorkflow.Designer.cs ファイルから抜粋したリッスンの SDK サンプルの一部です。 詳細については、「 Listen Sample」を参照してください。

[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

注釈

注意

ここでは、廃止された型と名前空間について説明します。 詳細については、「.NET 4.5 での Windows Workflow Foundation の新機能」を参照してください。

ローカル サービスとは、ローカル サービス インターフェイス (ExternalDataExchangeAttribute でマークされたインターフェイス) を実装するクラスのことであり、ExternalDataExchangeService に追加されます。

注意

外部メソッドが呼び出されると、そのメソッドのすべてのパラメーターが複製されます。 パラメーター型が を実装 ICloneableする場合、 Clone メソッドが呼び出されるか、 を使用して 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
古い.

SiteDependencyObject コンポーネントの参照を取得または設定します。

(継承元 DependencyObject)
UserData
古い.

このクラス インスタンスにカスタム データを関連付ける IDictionary を取得します。

(継承元 DependencyObject)
WorkflowInstanceId
古い.

インスタンスに関連付けられた Guid を取得します。

(継承元 Activity)

メソッド

AddHandler(DependencyProperty, Object)
古い.

DependencyObject のイベントを処理するハンドラーを追加します。

(継承元 DependencyObject)
Cancel(ActivityExecutionContext)
古い.

実行中のアクティビティを取り消すために、ワークフロー ランタイムから呼び出されます。

(継承元 Activity)
Clone()
古い.

Activity の詳細コピーを作成します。

(継承元 Activity)
Dispose()
古い.

DependencyObject によって使用されているすべてのリソースを解放します。

(継承元 DependencyObject)
Dispose(Boolean)
古い.

DependencyObject で使用されているアンマネージド リソースを解放します。オプションでマネージド リソースを解放します。

(継承元 DependencyObject)
Equals(Object)
古い.

指定されたオブジェクトが現在のオブジェクトと等しいかどうかを判断します。

(継承元 Object)
Execute(ActivityExecutionContext)
古い.

指定された CallExternalMethodActivity で、ActivityExecutionContext の実行を試みます。

GetActivityByName(String)
古い.

指定された名前の Activity インスタンスを検索して返します。検索範囲は、このインスタンスのルート アクティビティ内、つまりワークフロー内で、現在動作中のアクティビティ全体です。

(継承元 Activity)
GetActivityByName(String, Boolean)
古い.

指定された名前の Activity インスタンスを検索して返します。検索範囲は、第 2 パラメーターが Activity ならばこのインスタンスの false のルート アクティビティ内、Activity ならばこの true 内で、現在動作中のアクティビティ全体です。

(継承元 Activity)
GetBinding(DependencyProperty)
古い.

特定の ActivityBind に関連付けられている DependencyProperty にアクセスできるようにします。

(継承元 DependencyObject)
GetBoundValue(ActivityBind, Type)
古い.

Object のサブジェクトである ActivityBind を取得します。

(継承元 DependencyObject)
GetHashCode()
古い.

既定のハッシュ関数として機能します。

(継承元 Object)
GetInvocationList<T>(DependencyProperty)
古い.

指定された DependencyProperty のデリゲートを格納する配列を取得します。

(継承元 DependencyObject)
GetType()
古い.

現在のインスタンスの Type を取得します。

(継承元 Object)
GetValue(DependencyProperty)
古い.

指定した DependencyProperty の値にアクセスできるようにします。

(継承元 DependencyObject)
GetValueBase(DependencyProperty)
古い.

DependencyProperty のバインドされたオブジェクトにアクセスできるようにし、GetValue(DependencyProperty) オーバーライドを省略します。

(継承元 DependencyObject)
HandleFault(ActivityExecutionContext, Exception)
古い.

このインスタンスの実行のコンテキスト内で例外が発生したときに呼び出されます。

(継承元 Activity)
Initialize(IServiceProvider)
古い.

新しいワークフロー インスタンスを構築する際、アクティビティを初期化するために、ワークフロー ランタイムが呼び出します。 このメソッドは、動的に ActivityExecutionContext を構築する際に呼び出されます。

(継承元 Activity)
InitializeProperties()
古い.

依存関係プロパティの初期化を実行します。

Invoke<T>(EventHandler<T>, T)
古い.

EventHandler を定期受信し、そのデリゲートを呼び出します。

(継承元 Activity)
Invoke<T>(IActivityEventListener<T>, T)
古い.

IActivityEventListener<T> を定期受信し、そのデリゲートを呼び出します。

(継承元 Activity)
IsBindingSet(DependencyProperty)
古い.

DependencyProperty の値がバインディングとして設定されているかどうかを表します。 以下を参照してください。SetBinding(DependencyProperty, ActivityBind)

(継承元 DependencyObject)
MemberwiseClone()
古い.

現在の Object の簡易コピーを作成します。

(継承元 Object)
MetaEquals(DependencyObject)
古い.

この metapropertiesDependencyObject が、パラメーター化された metapropertiesDependencyObject と等しいかどうかを調べます。

(継承元 DependencyObject)
OnActivityExecutionContextLoad(IServiceProvider)
古い.

ActivityExecutionContext を読み込む都度、ワークフロー ランタイムが呼び出します。 ActivityExecutionContext の作成時ばかりでなく、永続ストレージからワークフロー インスタンスを読み込んで ActivityExecutionContext を復元したときにも呼び出されます。

(継承元 Activity)
OnActivityExecutionContextUnload(IServiceProvider)
古い.

ActivityExecutionContext をアンロードする都度、ワークフロー ランタイムが呼び出します。 ActivityExecutionContext の終了時ばかりでなく、ワークフロー インスタンスを永続ストレージに保存して ActivityExecutionContext をアンロードしたときにも呼び出されます。

(継承元 Activity)
OnClosed(IServiceProvider)
古い.

アクティビティをクローズド状態に遷移する過程で、ワークフロー ランタイムが呼び出します。

(継承元 Activity)
OnMethodInvoked(EventArgs)
古い.

派生クラスが ParameterBindings から値を抽出し、返すためのフックを提供します。 このメソッドは、外部メソッドが実行された直後に呼び出されます。

OnMethodInvoking(EventArgs)
古い.

派生クラスが ParameterBindings を設定するためのフックを提供します。 このメソッドは、外部メソッドが実行される直前に呼び出されます。

RaiseEvent(DependencyProperty, Object, EventArgs)
古い.

指定された依存関係プロパティに関連付けられた Event を発生させます。

(継承元 Activity)
RaiseGenericEvent<T>(DependencyProperty, Object, T)
古い.

指定された DependencyProperty に関連付けられたイベントを発生させます。

(継承元 Activity)
RegisterForStatusChange(DependencyProperty, IActivityEventListener<ActivityExecutionStatusChangedEventArgs>)
古い.

指定された DependencyProperty を状態変更イベントに登録します。

(継承元 Activity)
RemoveHandler(DependencyProperty, Object)
古い.

関連付けられた EventHandler から DependencyProperty を削除します。

(継承元 DependencyObject)
RemoveProperty(DependencyProperty)
古い.

DependencyProperty から DependencyObject を削除します。

(継承元 DependencyObject)
Save(Stream)
古い.

ActivityStream に書き込んで永続化します。

(継承元 Activity)
Save(Stream, IFormatter)
古い.

ActivityStream に書き込んで永続化します。シリアル化の機能を提供する独自の IFormatter を使います。

(継承元 Activity)
SetBinding(DependencyProperty, ActivityBind)
古い.

指定された ActivityBindDependencyProperty を設定します。

(継承元 DependencyObject)
SetBoundValue(ActivityBind, Object)
古い.

ターゲット ActivityBind の値を設定します。

(継承元 DependencyObject)
SetReadOnlyPropertyValue(DependencyProperty, Object)
古い.

読み取り専用である DependencyProperty の値を設定します。

(継承元 DependencyObject)
SetValue(DependencyProperty, Object)
古い.

DependencyProperty の値をオブジェクトに設定します。

(継承元 DependencyObject)
SetValueBase(DependencyProperty, Object)
古い.

DependencyProperty を省略して、Object の値を指定した SetValue(DependencyProperty, Object) に設定します。

(継承元 DependencyObject)
ToString()
古い.

このインスタンスを表す文字列を返します。

(継承元 Activity)
TrackData(Object)
古い.

ランタイム追跡インフラストラクチャに保留の追跡情報を通知します。

(継承元 Activity)
TrackData(String, Object)
古い.

ランタイム追跡インフラストラクチャに保留の追跡情報を通知します。

(継承元 Activity)
Uninitialize(IServiceProvider)
古い.

サービス プロバイダーがアクティビティの初期化を解除するメソッドとして、派生クラスでオーバーライドします。

(継承元 Activity)
UnregisterForStatusChange(DependencyProperty, IActivityEventListener<ActivityExecutionStatusChangedEventArgs>)
古い.

状態変更イベントから指定された DependencyProperty の登録を解除します。

(継承元 Activity)

イベント

Canceling
古い.

アクティビティ実行が取り消された場合に発生します。

(継承元 Activity)
Closed
古い.

Activity の実行終了時に発生します。

(継承元 Activity)
Compensating
古い.

Activity 上で補正メソッドが起動されたときに発生します。

(継承元 Activity)
Executing
古い.

Activity の実行時に発生します。

(継承元 Activity)
Faulting
古い.

インスタンスの実行中、例外が発生したときに発生します。

(継承元 Activity)
MethodInvoking
古い.

メソッドを呼び出す前に発生します。

StatusChanged
古い.

実行中の ActivityExecutionStatusActivity が変更された場合に発生します。

(継承元 Activity)

明示的なインターフェイスの実装

IComponent.Disposed
古い.

コンポーネントの Disposed イベントを処理するメソッドを表します。

(継承元 DependencyObject)
IDynamicPropertyTypeProvider.GetAccessType(IServiceProvider, String)
古い.

指定されたプロパティに関するアクセスの種類を返します。

IDynamicPropertyTypeProvider.GetPropertyType(IServiceProvider, String)
古い.

指定したプロパティの Type を返します。

適用対象

こちらもご覧ください