Я генерировал SharePoint C# Последовательный проект Рабочего процесса использование очень удобного инструмента STSDEV (это заставило меня вокруг требования иметь доступ к 32-разрядной установке SharePoint, которая требуется для других инструментов, таких как VSeWSS 1.3).
Я добавил, что простое 'изменяет заголовок' действие для тестирования моей основной установки:
public sealed partial class CopyWorkflow : SharePointSequentialWorkflowActivity
{
public CopyWorkflow()
{
InitializeComponent();
workflowProperties = new SPWorkflowActivationProperties();
}
public SPWorkflowActivationProperties workflowProperties;
private void onWorkflowActivated1_Invoked_1(object sender, ExternalDataEventArgs e)
{
workflowProperties.Item["Title"] = workflowProperties.Item["Title"].ToString() + ": Processed by Workflow";
workflowProperties.Item.Update();
}
}
Кто бы ни, после установки моего рабочего процесса через WSP в установку WSS 3.0, активирование опции и конфигурирование рабочего процесса для запуска каждый раз, когда новый объект создается для конкретного списка я получаю свою точку останова в хите onWorkflowActivated1_Invoked_1, но workflowProperties. Объект является всегда ПУСТЫМ вместо SPListItem, представляющего объект, который был просто добавлен.
Что я должен сделать, чтобы заставить Объект быть заполненным, когда этот обратный вызов называют?
Обновление: я заметил, что поток, выполняющий рабочий процесс, работает анонимно, а не как зарегистрированный пользователь или пользователь системы, и поэтому не будет иметь доступа к данным списка. Кроме того, шоу файла журнала SharePoint следующее исключение:
Unexpected System.ArgumentNullException: Value cannot be null. Parameter name: uriString at System.Uri..ctor(String uriString) at Microsoft.SharePoint.SPSite..ctor(String requestUrl) at Microsoft.SharePoint.Workflow.SPWorkflowActivationProperties.
и
Unexpected ...get_Site() at Microsoft.SharePoint.Workflow.SPWorkflowActivationProperties.get_Web() at Microsoft.SharePoint.Workflow.SPWorkflowActivationProperties.get_Item() at BechtelWorkflow.CopyWorkflow.onWorkflowActivated1_Invoked_1(Object sender, ExternalDataEventArgs e) at System.Workflow.ComponentModel.Activity.RaiseGenericEvent[T](DependencyProperty dependencyEvent, Object sender, T e) at System.Workflow.Activities.HandleExternalEventActivity.RaiseEvent(Object[] args) at System.Workflow.Activities.HandleExternalEventActivity.Execute(ActivityExecutionContext executionContext) at System.Workflow.ComponentModel.ActivityExecutor'1.Execute(T activity, ActivityExecutionContext executionContext) at System.Workflow.ComponentModel.ActivityExecutor'1.Execute(Activity activi...
Вы связали WorkflowActivationProperties с Workflow designer?
WorkflowActivationProperties http://img718.imageshack.us/img718/9703/ss20100305091353.png