WF 创建 SQL 持久性数据库

简介:

Windows Workflow Foundation 安装程序并不安装 SqlWorkflowPersistenceService 服务所需的数据库,但会安装为这些服务创建和配置数据库所用的 SQL 脚本。 本部分详细说明正确配置供 SqlWorkflowPersistenceService 服务使用的 SQL Server 数据库所需执行的步骤。

由 Windows Workflow Foundation 安装的 SQL 服务使用 SQL Server 来存储信息。 对于这些任务,可以使用 Microsoft SQL Server 2005 Express、SQL Server 2000 或更高版本或 SQL Server 2000 Desktop Engine (MSDE)。

创建 SQL 持久性数据库

  1. 在 SQL Server 2005 Express、SQL Server 2000 或更高版本或 SQL Server 2000 Desktop Engine (MSDE) 中,使用以下 SQL 查询语句创建一个名为 WorkflowPersistenceStore 的新数据库:CREATE DATABASE WorkflowPersistenceStore。

     
  2. 在 SQL 查询分析器工作区中,从可用数据库列表中选择在步骤 1 中创建的数据库。

  3. 在“文件”菜单上,单击“打开”,然后打开 SQL 脚本 %WINDIR%\Microsoft.NET\Framework\v3.0\Windows Workflow Foundation\SQL\<语言>\SqlPersistence_Schema

  4. 通过单击“执行”或按 F5 来运行查询,以便创建 SQL 持久性服务表。

  5. 在“文件”菜单上,单击“打开”,然后打开 SQL 脚本 %WINDIR%\Microsoft.NET\Framework\v3.0\Windows Workflow Foundation\SQL\<语言>\SqlPersistence_Logic

  6. 通过单击“执行”或按 F5 来运行查询,以便创建 SQL 持久性服务存储过程。

向运行时引擎添加 SqlWorkflowPersistenceService

可以编程方式或通过使用应用程序配置文件,向 Windows Workflow Foundation 运行时引擎添加运行时服务。

 

修改 SqlWorkflowPersistenceService 的 app.config

  1. 在 app.config 文件的 Services 元素中,创建一个名为 add 的新元素。

  2. 向 add 元素添加名为 type 的属性,该属性的值为 System.Workflow.Runtime.Hosting.SqlWorkflowPersistenceService, System.Workflow.Runtime, Version=3.0.00000.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35

  3. 向 add 元素添加名为 connectionString 的属性,该属性的值为 Initial Catalog=WorkflowPersistenceStore;Data Source=localhost;Integrated Security=SSPI

注意:

可能需要修改连接字符串,具体取决于 SQL Server 的配置。 此处显示的连接字符串假定,数据库名称为 WorkflowPersistenceStore,且 SQL Server 已安装在用于应用程序开发的同一个系统上。

  1. 通过添加与 SqlWorkflowPersistenceService 类中定义的可配置属性 (property) 相对应的属性 (attribute),对 SqlWorkflowPersistenceService 服务进行配置。

    例如,若要指定应在工作流进入空闲状态时将其卸载(例如在使用了 DelayActivity 活动的情况下),请向 add 元素添加名为 UnloadOnIdle 的属性,并为该属性指定 true 值。

  2. <add type="System.Workflow.Runtime.Hosting.SqlWorkflowPersistenceService, System.Workflow.Runtime, Version=3.0.00000.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" connectionString="Initial Catalog=WorkflowPersistenceStore;Data Source=localhost;Integrated Security=SSPI;" UnloadOnIdle="true"/>

    以编程方式向运行时引擎添加 SqlWorkflowPersistenceService

    1. 调用 WorkflowRuntime 类中定义的 AddService 方法,传递 SqlWorkflowPersistenceService 的新实例。

      下面的示例演示如何使用与前面的过程中显示的示例相同的配置来创建 SqlWorkflowPersistenceService 服务。 在此示例中,instanceOwnershipDuration 设置为 TimeSpan.MaxValue,而 loadingInterval 设置为 2 分钟。 这些值是在 SqlWorkflowPersistenceService 类中使用的默认值。

    2. [C#]

      复制代码
    using (WorkflowRuntime workflowRuntime = new WorkflowRuntime())                {                // Create the SqlWorkflowPersistenceService.                string connectionString = ="Initial Catalog=WorkflowPersistenceStore;Data Source=localhost;Integrated Security=SSPI;"                bool unloadOnIdle = true;                TimeSpan instanceOwnershipDuration = TimeSpan.MaxValue;                TimeSpan loadingInterval = new TimeSpan(0, 2, 0);                SqlWorkflowPersistenceService persistService = new SqlWorkflowPersistenceService(connectionString, unloadOnIdle, instanceOwnershipDuration, loadingInterval);                // Add the SqlWorkflowPersistenceService to the runtime engine.                workflowRuntime.AddService( persistService );                // ...                }

     

分类:  WF

本文转自左正博客园博客,原文链接:http://www.cnblogs.com/soundcode/archive/2010/12/30/1922325.html,如需转载请自行联系原作者
相关实践学习
使用SQL语句管理索引
本次实验主要介绍如何在RDS-SQLServer数据库中,使用SQL语句管理索引。
SQL Server on Linux入门教程
SQL Server数据库一直只提供Windows下的版本。2016年微软宣布推出可运行在Linux系统下的SQL Server数据库,该版本目前还是早期预览版本。本课程主要介绍SQLServer On Linux的基本知识。 相关的阿里云产品:云数据库RDS&nbsp;SQL Server版 RDS SQL Server不仅拥有高可用架构和任意时间点的数据恢复功能,强力支撑各种企业应用,同时也包含了微软的License费用,减少额外支出。 了解产品详情:&nbsp;https://www.aliyun.com/product/rds/sqlserver
目录
相关文章
|
26天前
|
SQL 算法 数据库
【数据库SQL server】关系数据库标准语言SQL之数据查询
【数据库SQL server】关系数据库标准语言SQL之数据查询
45 0
|
26天前
|
SQL 算法 数据库
【数据库SQL server】关系数据库标准语言SQL之视图
【数据库SQL server】关系数据库标准语言SQL之视图
36 0
|
9天前
|
SQL 存储 关系型数据库
sql数据库的相关概念与底层介绍
sql数据库的相关概念与底层介绍
31 0
|
24天前
|
SQL 人工智能 运维
数据库基础入门 — SQL排序与分页
数据库基础入门 — SQL排序与分页
16 0
|
24天前
|
SQL 人工智能 运维
数据库基础入门 — SQL运算符
数据库基础入门 — SQL运算符
15 0
|
24天前
|
SQL 人工智能 运维
数据库基础入门 — SQL
数据库基础入门 — SQL
26 0
|
25天前
|
SQL 存储 数据库
【数据库SQL server】自学终极笔记
【数据库SQL server】自学终极笔记
74 0
|
26天前
|
SQL 算法 数据库
【数据库SQL server】关系数据库标准语言SQL之数据更新
【数据库SQL server】关系数据库标准语言SQL之数据更新
22 0
|
26天前
|
SQL 数据库 数据库管理
【数据库SQL server】关系数据库标准语言SQL的基本知识
【数据库SQL server】关系数据库标准语言SQL的基本知识
35 0
|
26天前
|
SQL 算法 JavaScript
【数据库SQL server】关系型数据库的基本知识
【数据库SQL server】关系型数据库的基本知识
128 0

热门文章

最新文章