WF4.5 状态机使用WorkflowApplication 添加持久化数据库(二)

数据库:使用sql server 2008 R2,请安装SQLEXPRESS实列

下载持久化数据库:http://files.cnblogs.com/qugangf/CreateInstanceStore.rar

其实这个库已经集成到.net framwork 4.0里面可以去C:\Windows\Microsoft.NET\Framework\v4.0.30319\SQL\en

找到数据库。也许和我的这个名字不一样,因为我是参照的http://code.msdn.microsoft.com/windowsdesktop/Windows-Workflow-fee72008这个例子做的。

执行附件里的CreateInstanceStore.cmd

执行结果:

WF4.5 状态机使用WorkflowApplication 添加持久化数据库(二)_第1张图片

登陆SQLServer:

WF4.5 状态机使用WorkflowApplication 添加持久化数据库(二)_第2张图片

看到有如下表,就说明创建持久化数据库成功:

WF4.5 状态机使用WorkflowApplication 添加持久化数据库(二)_第3张图片

添加如下代码:

//添加持久化数据库
SqlWorkflowInstanceStore instanceStore = new SqlWorkflowInstanceStore(@"Data Source=.\SQLEXPRESS;Initial Catalog=SampleInstanceStore;Integrated Security=True;Asynchronous Processing=True");

//将持久化数据库添加到工作流宿主里面去
application.InstanceStore = instanceStore;

完整代码:

using System;
using System.Linq;
using System.Activities;
using System.Activities.Statements;
using System.Activities.DurableInstancing;
using System.Threading;

namespace TestWorkFlow
{

    class Program
    {

        static void Main(string[] args)
        {

            //创建活动实例
            StateMachineWorkFlow context = new StateMachineWorkFlow();

            //创建单实例工作流宿主
            WorkflowApplication application = new WorkflowApplication(context);

            //添加持久化数据库
            SqlWorkflowInstanceStore instanceStore = new SqlWorkflowInstanceStore(@"Data Source=.\SQLEXPRESS;Initial Catalog=SampleInstanceStore;Integrated Security=True;Asynchronous Processing=True");

            //将持久化数据库添加到工作流宿主主机里面去
            application.InstanceStore = instanceStore;

            //执行
            application.Run();

            Console.ReadLine();
        }

    }
}

 前四章源代码:http://files.cnblogs.com/qugangf/TestWorkFlow.rar

你可能感兴趣的:(application)