-
WF.xoml:
<SequentialWorkflowActivity
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/workflow"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
x:Class="WorkflowConsoleApplication1.Workflow1"
>
<CodeActivity ExecuteCode="SayHello" />
<x:Code>
<![CDATA[
private void SayHello(object sender, EventArgs e)
{
Console.WriteLine("Hello, workflow!");
}
]]>
</x:Code>
</SequentialWorkflowActivity>
HOST:
using(WorkflowRuntime workflowRuntime = new WorkflowRuntime())
{
AutoResetEvent waitHandle = new AutoResetEvent(false);
workflowRuntime.WorkflowCompleted += delegate(object sender, WorkflowCompletedEventArgs e) {waitHandle.Set();};
workflowRuntime.WorkflowTerminated += delegate(object sender, WorkflowTerminatedEventArgs e)
{
Console.WriteLine(e.Exception.Message);
waitHandle.Set();
};XmlReader xml = XmlReader.Create(@"F:\wf.xoml");
WorkflowInstance instance = workflowRuntime.CreateWorkflow(xml);instance.Start();
waitHandle.WaitOne();
}运行时报“验证失败”的错误,怎么回事?
WorkflowInstance instance = workflowRuntime.CreateWorkflow(xml);
似乎使用这种方法运行工作流的话,xoml文件里面不能包含X:class属性,不能包含命名空间,也不能有代码。
我想问下,如果事先定制好一些工作流,想要在另外的工程中,直接找到这些工作流文件(用读取文件的方式而不是添加引用)加以应用,如何实现?XmlReader xml = XmlReader.Create(@"F:\wf.xoml");这样如果不能实现的话,这个方法存在的意义在哪?到底什么时候会用到这个方法?