Sharepoint 2010事件接收器和工作流未启动
我创建了一个事件接收器,它应该触发SharePoint designer工作流,但这从未发生过。对于guid和工作流关联:if(association.BaseId==workflowGuid),这部分代码的计算结果永远不会为true。我有点困惑,不太清楚为什么它不起作用。任何见解都将不胜感激…我的代码如下。基本上,当一个项目被添加到我的列表中时,它应该会触发我的Sharepoint designer工作流,但这不会发生,我可以手动启动工作流Sharepoint 2010事件接收器和工作流未启动,sharepoint,sharepoint-workflow,event-receiver,Sharepoint,Sharepoint Workflow,Event Receiver,我创建了一个事件接收器,它应该触发SharePoint designer工作流,但这从未发生过。对于guid和工作流关联:if(association.BaseId==workflowGuid),这部分代码的计算结果永远不会为true。我有点困惑,不太清楚为什么它不起作用。任何见解都将不胜感激…我的代码如下。基本上,当一个项目被添加到我的列表中时,它应该会触发我的Sharepoint designer工作流,但这不会发生,我可以手动启动工作流 public override void ItemA
public override void ItemAdded(SPItemEventProperties properties)
{
base.ItemAdded(properties);
startWF(properties);
}
private void startWF(SPItemEventProperties properties)
{
try
{
//bool startWF = false;
string strWorkflowID = "{c66ff94f-ba7c-4495-82fe-e73cdd18bad9}";
//string statusVal = properties.AfterProperties["eRequest Division"].ToString();
SPListItem li = properties.ListItem;
//using (SPWeb web = li.Web)
using (SPWeb web = properties.OpenWeb())
{
using (SPSite site = web.Site)
{
SPWorkflowManager mgr = site.WorkflowManager;
SPList parentList = li.ParentList;
//SPList list = web.Lists["Charitable and Political"];
SPWorkflowAssociationCollection associationCollection = parentList.WorkflowAssociations;
LookUpAndStart(li, mgr, associationCollection, "{c66ff94f-ba7c-4495-82fe-e73cdd18bad9}");
}
}
}
catch (Exception ex)
{
}
}
private static void LookUpAndStart(SPListItem listItem, SPWorkflowManager mgr, SPWorkflowAssociationCollection associationCollection, string workflowID)
{
foreach (SPWorkflowAssociation association in associationCollection)
{
Guid workflowGuid = new Guid(workflowID);
//if (association.Name.ToLower().Equals(workflowGuid))
//if (association.BaseId == workflowGuid)
//if (association.BaseId.ToString("B").Equals(workflowGuid))
if (association.BaseId == workflowGuid)
{
string data = association.AssociationData;
SPWorkflow wf = mgr.StartWorkflow(listItem, association, data, true);
break;
}
}
}
}
}
在我的情况下,以下是问题 如果满足以下条件,则声明性工作流将不会自动启动:
空抓条款是一种不好的做法。