如何建立基于SQL的跟踪服务呢?
工作流基础(Windows Workflow Foundation)提供了基于SQL的跟踪服务。SqlTrackingService将会把跟踪的数据保存在SQL数据库中。并提供每个类别(Type),每个实例(Instance)的跟踪档案。 同时它还提供了一组SqlTrackingQuery的API用于某些场景下的数据查询。
由于工作流是一个平台组件,我们没有试图在你安装工作流基础的时候设置并默认启用SqlTrackingService,你需要通过简单的步骤来设置并启用它:
设置SqlTrackingService
工作流基础提供了必要的脚本用于建立Schema和数据库对象,你需要:
1)...全部
工作流基础(Windows Workflow Foundation)提供了基于SQL的跟踪服务。SqlTrackingService将会把跟踪的数据保存在SQL数据库中。并提供每个类别(Type),每个实例(Instance)的跟踪档案。
同时它还提供了一组SqlTrackingQuery的API用于某些场景下的数据查询。
由于工作流是一个平台组件,我们没有试图在你安装工作流基础的时候设置并默认启用SqlTrackingService,你需要通过简单的步骤来设置并启用它:
设置SqlTrackingService
工作流基础提供了必要的脚本用于建立Schema和数据库对象,你需要:
1)建立一个数据库命名为Tracking
2)在你建立的数据库中依次执行C:\WINDOWS\WinFX\v3。
0\Windows Workflow Foundation\SQL\EN下的Tracking_Schema。sql和Tracking_Logic。sql
启用SqlTrackingService
和任何工作流运行时服务类似,你可以通过代码或者config文件来启用它。
通过代码
1)建立你的数据库的连接字符串
2)建立一个SqlTrackingService实例并在WorkflowRuntime启动前添加到WorkflowRuntime中
你的代码可能如下(假设你的数据库名文Tracking并在本机):
private void StartCaseManagementProcess()
{
WorkflowRuntime workflowRuntime = new WorkflowRuntime();
string connectionstring =
"Initial Catalog=Tracking;DataSource=localhost;Integrated Security=SSPI;";
workflowRuntime。
AddService(new SqlTrackingService(connectionstring));
WorkflowInstance workflowInstance = workflowRuntime。
CreateWorkflow(typeof(CaseManagementWorkflow));
workflowInstance。
Start();
}
通过config文件
1)将SqlTrackingService添加到config文件中
ConnectionString = "Initial Catalog=Tracking;Data Source=localhost;Integrated Security=SSPI;"
UseDefaultProfile = "true"
IsTransactional = "true"
ProfileChangeCheckInterval = "60000"
PartitionOnCompletion = "false"/>
2)通过配置文件中定义的名字建立你的WorkflowRuntime,代码如下:
WorkflowRuntime workflowRuntime = new WorkflowRuntime("ConfigSection");。收起