"InputTest"という入力パラメータを受け付けるカスタムワークフローアクティビティがあります。これは単なる文字列です。私のカスタムワークフローアクティビティでDynamics CRM - カスタムワークフロー - 入力パラメータを読み取ると、プラグインの実行が停止しますか?
[Input("InputTest")]
[RequiredArgument]
public InArgument<string> TargetEntity { get; set; }
私はそれを読みたいので、私は次のようにします。
string targetEntityValue = TargetEntity.Get(executionContext);
とすぐに私は私のワークフローアクティビティが実行できなくなり、その行を追加します。私がそれを実行すると、ステータスは「成功」と表示されますが、ワークフローの何も実行されません。ワークフローの開始時のトレースでも、ワークフローが入力されたとは限りません。 Diagログには何もありません。 SQLプロファイラを実行すると、ワークフローが実行され、即座に終了したことを示すAsyncBaseテーブルに追加されたステートメントはごくわずかです。
上記の行を削除すると、ワークフローは正常に実行されます。私はここで間違って何をしているのだろうか?なぜ入力パラメータを読み込むと、CRMはワークフローで何もしないのですか?
これは、コードが主な方法を入力していないようなものです。
[Input("Entity")]
[RequiredArgument]
public InArgument<string> TargetEntity { get; set; }
protected override void Execute(CodeActivityContext executionContext)
{
// Create the tracing service
ITracingService tracingService = executionContext.GetExtension<ITracingService>();
if (tracingService == null)
{
throw new InvalidPluginExecutionException("Failed to retrieve tracing service.");
}
tracingService.Trace("Entered TestWorkflow.Execute(), Activity Instance Id: {0}, Workflow Instance Id: {1}",
executionContext.ActivityInstanceId,
executionContext.WorkflowInstanceId);
string targetEntityValue = TargetEntity.Get<string>(executionContext);
}
どのようなCRMバージョンがありますか、どのSDKバージョンですか? – Alex
Dynamics CRM 2016(オンデマンド)。 – Dean