Мы используем информационную форму, которая при отправке должна запускать пользовательский рабочий процесс .NET. В основном информация в форме используется для создания нового сайта sharepoint. Я вижу, что при первом запуске рабочего процесса (который выполняется автоматически после отправки формы) ошибки рабочего процесса исчезают. Когда я запускаю рабочий процесс вручную сразу после сбоя, он работает нормально.
this.workflowProperties.Item["Client Name"]
Я отладил проблему до указанной выше строки, где workflowProperties имеет тип Microsoft.SharePoint.Workflow.SPWorkflowActivationProperties. При первом запуске рабочего процесса свойство, указанное выше (и все остальные), имеют значение NULL. При втором запуске свойство имени клиента будет таким, каким оно должно быть (заполнено из формы информационного пути).
Еще одна важная информация заключается в том, что этот рабочий процесс работал нормально более года и внезапно начал работать некорректно несколько недель назад без особой причины. В прошлом месяце у нас были некоторые проблемы с разрешениями, но я не понимаю, как это могло быть связано с проблемой рабочего процесса. Пользователь, в который я вошел как администратор семейства веб-сайтов. Я использую того же пользователя, чтобы вручную запустить рабочий процесс (что успешно). Я не думаю, что рабочий процесс запускается от имени пользователя, который вошел в систему (когда он запускается автоматически при отправке формы).
Еще одна интересная морщинка всей ситуации: всего приложение использует 3 настраиваемых рабочих процесса. 2 были созданы в Visual Studio - один из них работает нормально, а другой демонстрирует поведение, описанное выше. Последний был сделан в конструкторе sharepoint и терпит неудачу.
На данный момент я готов попробовать что угодно. Я нахожусь на сервере разработки (который отображает точные симптомы как производственные), поэтому я могу попробовать что угодно.