zoukankan      html  css  js  c++  java
  • 流程引擎及流程设计器的嵌入方式

      上两篇文章对流程引擎及流程设计器有了基本的介绍,本篇将对如何把流程引擎及流程设计器嵌入到具体的项目中做详细的介绍。如果您希望得到相关源码请联系邮箱:455274752@qq.com。欢迎加入流程交流群共同交流探讨(QQ群:251834323 注:源码已发群共享)。

      一、嵌入流程引擎到应用程序。

    1.引入流程引擎dll文件(Workflow.dll)到应用程序。

      项目-引用-添加引用-浏览找到dll文件所在路径-确定。

    2.配置web.config连接字符串。

      格式如:

    <add name="WorkflowDB" connectionString="Data Source=.;Initial Catalog=WorkflowDB;User ID=sa;Password=1234;Integrated Security=True" providerName="System.Data.EntityClient" />
    

      其中连接字符串的name值必须为WorkflowDB

    3.引入EntityFramework到应用程序。

      vs-工具-库程序包管理器-库程序包管理器控制台

    输入以下代码,回车:

    Install-Package EntityFramework -Version 6.0.0
    

      注:需引入EntityFramework 6.0或6.0以上版本。

    4.创建数据库表结构。

    ①如果应用程序还未创建数据库

    通过调用如下代码即可根据连接字符串完成数据库及相关表的创建

    Workflow.Abstract.ConcreteFactory.Init();
    

    ②如果应用程序已有数据库

    通过下面资源文件中的即可完成相关表的创建。

    到此即完成了流程引擎的引入,接下来即可调用流程引擎公开的相关接口对进行流程的相关操作。

      二、嵌入流程设计器到应用程序。

    1.引入流程设计器相关的dll文件。

      WorkflowSL.Web.dll 及 WorkflowSLRIA.Web.dll

    2.添加流程设计的相关文件到应用程序。

      相关文件包含:ClientBinWorkflowSL.xap、Silverlight.js、Workflow.html或WorkflowSL.aspx

    3.配置web.config

    <configuration>
      <connectionStrings>
        <add name="WorkflowDB" connectionString="metadata=res://*/WorkflowDBRIA.csdl|res://*/WorkflowDBRIA.ssdl|res://*/WorkflowDBRIA.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=.;initial catalog=***;user id=***;password=***;multipleactiveresultsets=True;application name=EntityFramework&quot;" providerName="System.Data.EntityClient" />
      </connectionStrings>
      <system.web>
        <httpModules>
          <add name="DomainServiceModule" type="System.ServiceModel.DomainServices.Hosting.DomainServiceHttpModule, System.ServiceModel.DomainServices.Hosting, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
        </httpModules>
      </system.web>
      <system.serviceModel>
        <behaviors>
          <serviceBehaviors>
            <behavior name="">
              <serviceMetadata httpGetEnabled="true" />
              <serviceDebug includeExceptionDetailInFaults="false" />
            </behavior>
          </serviceBehaviors>
        </behaviors>
        <serviceHostingEnvironment aspNetCompatibilityEnabled="true" multipleSiteBindingsEnabled="true" />
      </system.serviceModel>
      <system.webServer>
        <modules runAllManagedModulesForAllRequests="true">
          <add name="DomainServiceModule" preCondition="managedHandler" type="System.ServiceModel.DomainServices.Hosting.DomainServiceHttpModule, System.ServiceModel.DomainServices.Hosting, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
        </modules>
      </system.webServer>
    </configuration>

    注:将标的节点,分别加入到web.config对应的节点中。

     到此即完成了流程设计器的引入,接下来即可通过页面Workflow.html或Workflow.aspx设计具体的流程。

     本文相关资源下载地址:应用资源下载

    下篇将推出相关API说明。敬请关注。

    相关文章连接:

      通用流程设计http://www.cnblogs.com/qidq/p/workflow.html

      可视化流程设计——流程设计器演示(基于Silverlight)http://www.cnblogs.com/qidq/p/Workflow_Silverlight.html

      通用流程相关方法说明及调用事例http://www.cnblogs.com/qidq/p/3504061.html

      使用流程引擎整体解决方案http://www.cnblogs.com/qidq/p/3505112.html

  • 相关阅读:
    ld -l选项注意事项
    linux下创建用户(转)
    delete void *
    __attribute__机制介绍(转)
    正常断开连接情况下,判断非阻塞模式socket连接是否断开
    std::thread “terminate called without an active exception”
    Android 开发手记二 C可执行程序编译实例(转帖)
    c++11 on Android
    由一段小程序看算法复杂度
    Linux守护进程的编程实现(转)
  • 原文地址:https://www.cnblogs.com/qidq/p/3499769.html
Copyright © 2011-2022 走看看