次の方法で共有


WorkflowHostingEndpoint.OnGetInstanceId(Object[], OperationContext) メソッド

定義

オーバーライドして、作成されるワークフロー インスタンスのインスタンス ID を返します。

protected public:
 virtual Guid OnGetInstanceId(cli::array <System::Object ^> ^ inputs, System::ServiceModel::OperationContext ^ operationContext);
protected internal virtual Guid OnGetInstanceId (object[] inputs, System.ServiceModel.OperationContext operationContext);
abstract member OnGetInstanceId : obj[] * System.ServiceModel.OperationContext -> Guid
override this.OnGetInstanceId : obj[] * System.ServiceModel.OperationContext -> Guid
Protected Friend Overridable Function OnGetInstanceId (inputs As Object(), operationContext As OperationContext) As Guid

パラメーター

inputs
Object[]

サービス操作への入力。

operationContext
OperationContext

サービス操作の操作コンテキスト。

戻り値

新しく作成されたワークフロー インスタンスのインスタンス ID。

次の例は、OnGetInstanceId メソッドを実装する方法を示しています。

protected override Guid OnGetInstanceId(object[] inputs, OperationContext operationContext)
{
    //Create was called by client
    if (operationContext.IncomingMessageHeaders.Action.EndsWith("Create"))
    {
        return Guid.Empty;
    }
    //CreateWithInstanceId was called by client
    else if (operationContext.IncomingMessageHeaders.Action.EndsWith("CreateWithInstanceId"))
    {
        return (Guid)inputs[1];
    }
    else
    {
        throw new InvalidOperationException("Invalid Action: " + operationContext.IncomingMessageHeaders.Action);
    }
}

注釈

インスタンス ID が自動生成されることを示す null を返します。

適用対象