asp.net中的报销多级审批工作流项目加上跟踪服务
这篇我来为asp.net中的报销多级审批工作流项目加上跟踪服务。 SqlTrackingService 类表示一个功能完全的跟踪服务。使用此服务可以收集和存储跟踪信息,还可以 存储跟踪配置文件,并在工作流运行时引擎请求时提供这些配置文件。SQL 跟踪服务将运行时跟踪基础结 构发送给它的跟踪数据写入到 SQL 数据库。在许多情况下,对于 SqlTrackingService 服务来说,保持 其数据库和工作流运行时引擎状态之间的一致性十分重要。因此,SqlTrackingService 类实现了 IPendingWork 接口,并可参与到由 WorkflowCommitWorkBatchService 服务提供的工作流事务批处理功 能中。您可以设置 IsTransactional 属性,或将适当的参数传递给构造函数,以便将 SqlTrackingService 服务配置为参与批处理,并将表示 SQL 数据库挂起更改的对象添加到工作批次。 SqlTrackingService 服务还会在其数据库中保留跟踪配置文件。工作流运行时引擎知道对所使用的任 何跟踪配置文件所做的更改。SqlTrackingService 服务实现 IProfileNotification 接口,并定期检查 其数据库中的跟踪配置文件,以便将对其数据库中存储的 TrackingProfile 所做的更改通知工作流运行 时引擎。可以设置 ProfileChangeCheckInterval 属性或将适当的参数传递给构造函数来设置间隔, SqlTrackingService 服务将按该间隔检查其跟踪配置文件。[MSDN] 第一:配置跟踪用的数据库。 在C:\WINDOWS\Microsoft.NET\Framework\v3.0\Windows Workflow Foundation\SQL\EN目录下有两个 文件Tracking_Schema.sql和Tracking_Logic.sql,安先后顺序执行。 第二:配置跟踪服务。配置文件如下: <?xml version="1.0" encoding="utf-8" ?> <configuration> <configSections> <section name="WorkflowWithTracking" type="System.Workflow.Runtime.Configuration.WorkflowRuntimeSection, System.Workflow.Runtime, Version=3.0.00000.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/> </configSections> <WorkflowWithTracking> <CommonParameters> <add name="ConnectionString" value="Data Source=.;Initial Catalog=c6ps;Integrated Security=True"/> </CommonParameters> <Services> <add type="System.Workflow.Runtime.Tracking.SqlTrackingService, System.Workflow.Runtime, Version=3.0.00000.0, Culture=neutral,PublicKeyToken=31bf3856ad364e35"/> </Services> </WorkflowWithTracking> </configuration> 第三:修改封装的WorkflowWrapper类,在实例化WorkflowRuntime时加入跟踪服务。 static SqlTrackingService _SqlTrackingService;//跟踪服务 _SqlTrackingService = new SqlTrackingService(ConfigurationManager.ConnectionStrings ["perstr"].ConnectionString); if (runtime.GetService(_SqlTrackingService.GetType()) == null) { //加入跟踪服务 runtime.AddService(_SqlTrackingService); } 说明:这个调用代码要在整个工作流的最后调用,否则跟踪不到任何信息,在本项目中就是财务审批 的地方,如果放在员工提交审批的地方是不能调出任何信息的。 下面是页面输出的信息: Tracking Information for 56b0e92a-d1fd-4770-be83-2c088e518dc7 Workflow Events Date: 2009-3- |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |