私はワークフロー4.0とWCFが新しく、異なるタイプのワークフローを作成、実行、通信するWCFサービスを作成するのに苦労しています。4.0の複数の異なるワークフローを作成して通信するWCFサービスを構築する
ワークフロー3.5を使用して、さまざまなタイプのワークフローを作成および破棄し、さまざまなタイプのワークフローに単一のインターフェイスで対話できる優れたWebサービスを作成できました。例えば、3.5で与えられたコードのワークフローを作成する(コードは、ワークフロー・タイプに対応する)
[WebMethod]
public string CreateWorkflow(int code)
{
WorkflowRuntime runtime = createRuntime();
try
{
Type type = GetWorkflowType(code);
string reply = "";
WorkflowInstance instance =
runtime.CreateWorkflow(type);
instance.Start();
reply = instance.InstanceId.ToString();
instance.Unload();
return reply;
}
catch (Exception e)
{
return e.ToString();
}
finally
{
closeRuntime(runtime);
}
}
そして任意タイプのワークフローに通信する。
..
WorkflowInstance instance = runtime.GetWorkflow(new Guid(Id));
PassDataEventArgs eve = new PassDataEventArgs(instance.InstanceId, data);
InputData(null, eve);
..
WCFとワークフロー4.0を使用してそのようなインターフェイスを提示することは可能ですか?私はWCFを使用してさまざまな種類のワークフローを作成することができましたが、それらと通信するためにデータを渡す方法がわかりません。理想的には、私のWCFサービスでpassData(Guid id、Object data)のようなメソッドを呼び出すと、このデータを任意のタイプのワークフローのインスタンスに渡します(ワークフローがその時点でデータを受け取る正しい状態にない場合はエラーをキャッチします) )。誰も私にどのように私は単一のWCFサービス内の複数のワークフローの種類を介してそのような一般的な通信を達成することができるかについての洞察力を教えてくださいできますか?