Повторное выполнение кода действия в рабочем процессе SharePoint? - PullRequest
0 голосов
/ 08 сентября 2010

У меня есть собственная реализация рабочего процесса, которая требует обновления внешней БД.Я создал простой рабочий процесс для текстовых целей и обнаружил странную вещь!

мой код обновления / вставки базы данных помещен в код активности рабочего процесса.кажется, что кодовое действие выполняется несколько раз, когда рабочий процесс вызывается для простого элемента списка в пользовательском списке sharepoint.Вот мой рабочий процесс:

workflow-image

и мой код:

 private void onWorkflowActivated1_Invoked(object sender, ExternalDataEventArgs e)
{
    workflowProperties.Item["Title"] = "Processed by workflow at "+ DateTime.Now;
    workflowProperties.Item.Update();      

}

private void codeActivity1_ExecuteCode(object sender, EventArgs e)
{
    Random rnd = new Random();

    string conStr = "Data Source=192.168.1.57\\TRIBIRD;Initial Catalog=XXXXXX;User ID=XXXXXX;Password=XXXXXXXXXX";
    SqlConnection connection = new SqlConnection(conStr);
    SqlCommand command = connection.CreateCommand();
    command.CommandType = System.Data.CommandType.Text;
    command.CommandText = "INSERT INTO XXXX VALUES(" + rnd.Next() + ",'THE CONTENT FROM SHAREPOINT WORKFLOW','EN',1,1,'BRT')";

    connection.Open();
    command.ExecuteNonQuery();
    command.Dispose();
    connection.Close();
}

в БД я получаю более 1 строки для выполнения рабочего процесса!Интересно, что во время каждого выполнения количество добавляемых строк варьируется.

Почему это происходит?в чем моя ошибка?
Любые идеи и предложения приветствуются.

1 Ответ

0 голосов
/ 08 сентября 2010

Убедитесь, что у вас установлены последние исправления и обновления для SharePoint.

Более ранние версии в 2007 году допускали циклические самозапуски (например, повторный запуск). Более поздние версии не позволяют (но все же допускают коциклические триггеры). Я подозреваю, что это проблема, и "каскад" запускается методом Update. Просто догадка.

Это должно быть исправлено в SP2: Пакет обновления 2 предотвращает запуск рабочего процесса при изменении

...