0
我試圖以編程方式啓動SharePoint 2013工作流程。工作流程需要五個參數,將它們放入電子郵件正文中並通過電子郵件發送給我。當我轉到SharePoint網站時,我可以手動啓動此工作流程,所以我知道工作流程是正確的。當我嘗試使用SharePoint API來啓動工作流程時,我沒有收到任何錯誤,我收到一個空的Guid,並且工作流程無法運行。爲什麼StartWorkflow()在C#中啓動我的工作流?
public Guid Add(Project project)
{
var result = Guid.Empty;
var siteUri = new Uri(ConfigurationManager.AppSettings["SharePoint.Site"]);
var workflowName = ConfigurationManager.AppSettings["SharePoint.WorkflowName"];
using (var clientContext = TokenHelper.GetS2SClientContextWithWindowsIdentity(siteUri, null))
{
var workflowServiceManager = new WorkflowServicesManager(clientContext, clientContext.Web);
var workflowSubscriptionService = workflowServiceManager.GetWorkflowSubscriptionService();
var subscriptions = workflowSubscriptionService.EnumerateSubscriptions();
clientContext.Load(subscriptions, subs => subs.Where(sub => sub.Name == workflowName));
clientContext.ExecuteQuery();
foreach (var subscription in subscriptions)
{
var instanceService = workflowServiceManager.GetWorkflowInstanceService();
var initiationData = new Dictionary<string, object>
{
{"pProjectName", project.Name},
{"pDivision", _divisionData.GetDivisionName(project.DivisionId ?? Guid.Empty) },
{"pOperatingGroup", "****TODO: Operating Group****"},
{"pClientName", _clientData.GetClientName(project.ClientId ?? Guid.Empty) },
{"pSiteUrl", "****TODO: Site URL****" }
};
var startResult = instanceService.StartWorkflow(subscription, initiationData);
result = startResult.Value;
}
}
return result;
}
只是胡亂猜測:你檢查Windows事件日誌中的相關條目? – 2014-12-02 20:01:25
感謝您的想法,沒有相關的事件。 – Steve 2014-12-02 20:07:12