我对工作流4.0和WCF不熟悉,并且正在努力创建一个WCF服务,该服务创建,运行并与不同类型的工作流进行通信。构建一个WCF服务,创建并与4.0中的多个不同工作流进行通信
使用工作流程3.5我能够创建一个漂亮的webservice,创建并销毁不同类型的工作流程,并允许单个界面与不同类型的工作流程交谈。例如,要在3.5创建的给定代码的工作流:(其中,a代码对应于工作流类型)
[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服务内多个工作流类型的通用通信?