是的,这是我在客户处经常遇到的问题。尤其是当您在工作流中的最后一个活动是自动的并发布到实时时。我做的最简单的方法是:
- 自动代码中的第一个 FinishActivity
- 然后发布
workflow=false
。
PublishCoreServiceClient.FinishActivity(activityInstance.Id, finishData, publishoptions);
}
//Now Publish
ComponentData component = (ComponentData)PublishCoreServiceClient.Read(componentid, publishoptions);
if (GetConfigurationValues(component, PublishCoreServiceClient))
{
PublishInstructionData publishInstructionData = new PublishInstructionData();
publishInstructionData.MaximumNumberOfRenderFailures = 100;
publishInstructionData.RollbackOnFailure = true;
ResolveInstructionData resolveInstructionData = new ResolveInstructionData();
resolveInstructionData.IncludeWorkflow = false;
resolveInstructionData.IncludeChildPublications = true;
resolveInstructionData.IncludeComponentLinks = true;
publishInstructionData.ResolveInstruction = resolveInstructionData;
RenderInstructionData renderInstructionData = new RenderInstructionData();
publishInstructionData.RenderInstruction = renderInstructionData;
List<string> ItemToPublish = new List<string>();
ItemToPublish.Add(component.Id);
if (!String.IsNullOrEmpty(Utilities.LIVE_URI))
{
PublicationTargetData pubtarget = (PublicationTargetData)PublishCoreServiceClient.Read(Utilities.LIVE_URI, publishoptions);
List<string> target = new List<string>();
target.Add(pubtarget.Id);
PublishCoreServiceClient.Publish(ItemToPublish.ToArray(), publishInstructionData, target.ToArray(), PublishPriority.Normal, publishoptions);
Logger.Debug("ElapsedMilliseconds Publish [" + _watch.ElapsedMilliseconds + " ms]");
}