您的位置:首页 > 其它

工作流日志的记录

2009-03-10 10:08 204 查看
工作流日志的记录

工作流日志的记录可以实现两个功能。

SharePoint工作流代码出错的时候,监控页面的信息很少,为了便于查找错误,可以捕获关键代码抛出的异常,并将其记录到日志中。

通过日志,可以记录一些审批的信息。

SharePoint工作流日志的记录有以下两种方法。

通过workflowProperties属性调用CreateHistoryEvent方法,代码如下。

private void replicatorActivity1_ChildInitialized(object sender,

ReplicatorChildEventArgs e)

{

TaskActivity activity = e.Activity as TaskActivity;

activity.TaskProperties = new SPWorkflowTaskProperties();

activity.TaskProperties.AssignedTo = e.InstanceData.ToString();

activity.TaskProperties.TaskType = 0;

activity.TaskProperties.Title = "会签审批任务";

//记录日志

this.workflowProperties.Workflow.CreateHistoryEvent((int)

SPWorkflowHistoryEventType.WorkflowError, 0,

this.workflowProperties.OriginatorUser, "会签任务创建" , "审批用户:" +

e.InstanceData , "");

}

从ActivityExecutionContext中获取到ISharePointService接口的实现,调用其LogToHistoryList方法,这种方法只适合于重载基类方法的时候使用,代码如下。
protected override ActivityExecutionStatus HandleFault(ActivityExecutionContext

executionContext, Exception exception)

{

ISharePointService hostService = executionContext.GetService

<ISharePointService>();

if (hostService != null)

{  //记录日志

hostService.LogToHistoryList(this.workflowProperties.WorkflowId,

SPWorkflowHistoryEventType.WorkflowError, 0, TimeSpan.MinValue,

exception.Message, exception.StackTrace, "");

}

return base.HandleFault(executionContext, exception);

}

以上方法重载了工作流基类的HandleFault方法,将所有异常信息记录到日志中。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: