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 创建 SQL 持久性数据库相关推荐

  1. 如何使用Visual Studio创建SQL Server数据库项目

    目录 背景 介绍 创建新的SQL Server数据库项目 发布以在SQL Server中创建新数据库 结论 背景 数据库在任何应用程序中都扮演着最重要的角色,当表.视图.存储过程的数量增加时,项目管理 ...

  2. 动态创建Sql Server数据库相关(全)

    CREATE DATABASE 创建一个新数据库及存储该数据库的文件,或从先前创建的数据库的文件中附加数据库. 说明 有关与 DISK INIT 向后兼容性的更多信息,请参见"Microso ...

  3. 用ADOQuery创建SQL Server数据库,并创建表结构、存储过程和视图

    昨天做系统的安装,搞这个搞到头大,现在把总结写下巴. PS:贴上来代码的缩进就乱掉了 用SQL Server企业管理器导出的SQL文件是不能直接在ADOQuery里用的,因为ADOQuery不支持GO ...

  4. SQL Server数据库中、获得刚插入新记录的自动ID号

    以下的文章主要是介绍在SQL Server数据库中正确获得刚插入一条新记录的自动ID号的实际操作过程,下面就是文章对其的主要内容的具体描述,望大家在浏览之后会对其有更深的了解. 使用[IDENT_CU ...

  5. SQL Server2008数据库用户管理 (第三部分)

    3.1创建SQL Server数据库登录名 打开数据库管理器->安全性->登录名->右键选择新建登录名 1)Windows身份验证 选中Windows身份验证,点击搜索,在下面的提示 ...

  6. sql 获取数据库字段信息_使用DBATools获取SQL数据库详细信息

    sql 获取数据库字段信息 In the series of articles on DBATools, (see TOC at the bottom) we are exploring useful ...

  7. DBATools PowerShell SQL Server数据库备份命令

    In my earlier PowerShell SQL Server article, SQL Database Backups using PowerShell Module – DBATools ...

  8. 获取SQL Server数据库增长和收缩事件的详细信息

    It is essential for the DBA to need to ensure the SQL Server database performance. Performance tunin ...

  9. azure云数据库_在Azure Cosmos DB中使用PowerShell创建和删除数据库

    azure云数据库 Our testing or development may call for dynamic creation on the database level for Azure C ...

最新文章

  1. torch.Tensor和torch.tensor的区别
  2. matlab v7.0,matlab下载-matlab免费版v7.0 官方版下载-6188手游网
  3. springboot事物注解不生效_SpringBoot攻略三、配置文件说明
  4. appweb ejs_EJS部分
  5. 虚拟化服务器内存容量与数量,虚拟化服务器内存容量与数量
  6. 白话区块链~Pow,PoS,DPos
  7. 基于ANSYS-APDL的简单静力学分析示例(悬臂梁)
  8. 以前计算机学生都要学五笔吗,为什么曾经很火的五笔,还是给了拼音输入法?其实原因很简单...
  9. 正弦波叠加成及波的分解
  10. 掌上飞车-艳云脚本云控系统
  11. Visual Studio设置release版本可调试
  12. 百度编辑支持word内容和截图的复制黏贴
  13. linux之CLUSTER(集群)一
  14. 变形金刚2中的各个角色,及车型(带图)第一篇。
  15. python 一些模块的应用
  16. 她这套染色体,曾走过半个地球,记录了漫长的交配史...
  17. mysql rand_mysql的rand函数
  18. Windows/Linux获取Mac地址和CPU序列号实现
  19. 天堂祭祀php,test_《扶摇柳真真免费阅读》
  20. 圆角、阴影、渐变、透明

热门文章

  1. QT的QCameraFocus类的使用
  2. c++标准I/O输出流
  3. 经典C语言程序100例之二九
  4. C++拷贝构造函数的陷阱
  5. C/C++人机猜拳游戏
  6. c语言opencv所用库函数,Py之cv2:cv2库(OpenCV,opencv-python)的简介、安装、使用方法(常见函数、方法等)最强详细攻略...
  7. chmod 文件夹及子文件夹_了解linux文件属性之chgrp,chown,chmod
  8. python用户输入一行字符串_python字符串练习
  9. 「OS」Centos7安装Nvidia驱动
  10. 9.LDA(线性判别分析)