创建一个新宿主应用程序.docx

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
创建一个新的宿主应用程序  1.就像你在前一章做的一样,打开Visual Studio创建一个新应用程序项目。但是,不是要创建一个基于控制台的应用程序,而是创建一个Windows应用程序,名称为WorkflowPersister。下面的步骤在第二章中已经描述过:包含“添加工作流assembly引用”、“宿主工作流运行时”、“创建WorkflowRuntime工厂对象”,“启动工作流运行时”,“停止工作流运行时”,“使用工作流运行时工厂对象”,“处理工作流运行时事件”过程。最后,添加一个app.config文件(可参考前一章中的“添加SqlTrackingService到你的工作流中”,可不要忘记添加System.Configuration的引用)。    2.现在向app.config文件中添加恰当的数据库连接字符串(数据库为WorkflowStore)。?xml version=1.0 encoding=utf-8 ?configuration connectionStrings  add name=StorageDatabase connectionString=Data Source=(local)SQLEXPRESS;Initial Catalog=WorkflowStore;Integrated Security=True;/ /connectionStrings/configuration  3.当你创建了WorkflowPersister项目时,Visual Studio显示了Windows Forms视图设计器。在Windows Forms视图设计器中把鼠标移到工具箱上,选择一个Button控件,并把它拖放到设计器的界面上。  4.我们将为这个按钮设置一些富有意义的文字属性,以便于我们知道我们点击的是什么。选中这个按钮,然后在Visual Studio的属性面板中选择该按钮的Text属性,把该属性的值设置为“Start Workflow”。  5.为该按钮添加Click事件的处理程序,具体代码将在后面的步骤中添加。  6.修改按钮的位置和大小,如下图所示:    7.重复步骤3至步骤5,再添加两个按钮,一个的text属性为“Unload Workflow”,另一个的text属性为“Load Workflow”。如下图所示:    8.现在就为测试我们的工作流创建好了用户界面,该是为我们将执行的应用程序添加事件处理代码的时候了。当应用程序加载时我们需要初始化一些东西,做这些工作的一个很合适的地方是在主应用程序窗体中的Load事件处理程序。    9.在该事件处理程序(处理方法)中输入下面的代码:_runtime = WorkflowFactory.GetWorkflowRuntime();_runtime.WorkflowCompleted +=  new EventHandlerWorkflowCompletedEventArgs(Runtime_WorkflowCompleted);_runtime.WorkflowTerminated +=  new EventHandlerWorkflowTerminatedEventArgs(Runtime_WorkflowTerminated);  10。在Form1类中声明下面名称为_runtime的字段:    protected WorkflowRuntime _runtime = null;    protected WorkflowInstance _instance = null;  11.添加System.Workflow.Runtime、System.Workflow.ComponentModel和System.Workflow.Activity三个工作流组件的引用(可参考前面章节),然后在该代码文件中添加下面的命名空间:    using System.Workflow.Runtime;  12.尽管我们现在有了一个应用程序来宿主工作流运行时,但它实际上没做任何事。为完成些功能,我们需向按钮的事件处理中添加一些代码。先向button1_Click中添加下面的代码:button2.Enabled = true;button1.Enabled = false;_instance = _runtime.CreateWorkflow(typeof(PersistedWorkflow.Workflow1));_instance.Start();  这些代码使“Start Workflow”按钮禁用,而让“Unload Workflow”按钮可用,然后启动了一个新的工作流实例。  13.下一步,找到“Unload WorkflowInstance”按钮的事件处理

文档评论(0)

kehan123 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档