Последовательный рабочий процесс SharePoint 2010, связанный с политикой сохранения типов контента

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

Трудно отладить это из-за того, что политика хранения зависит от двух заданий таймера: управления информацией и политики истечения срока действия. Присоедините дегаггер к процессу w3wp и owetimer, но не может надежно улавливать активированный рабочий процесс.

В моем списке журнала рабочего процесса для каждого файла показано, что рабочий процесс завершился успешно. Суть рабочего процесса - это действие кода, которое собирает данные из текущего элемента и обновляет центральный список. После завершения процесса в этом списке отображается ноль элементов. Это код находится в коде активности?

Я удалил всю обработку исключений, чтобы упростить то, что показано.

Код

public Workflow1()
{
InitializeComponent();
}

public Guid workflowId = default(System.Guid);
public SPWorkflowActivationProperties workflowProperties = new SPWorkflowActivationProperties();

string purgeLogListPath = @"http://shptserver/sites/sp";
string listPath = @"http://shptserver/sites/sp/Lists/PurgeLog/AllItems.aspx";

private void onWorkflowActivated1_Invoked(object sender, ExternalDataEventArgs e)
{
}

private void codeActivity1_ExecuteCode(object sender, EventArgs e)
{
  SPSecurity.RunWithElevatedPrivileges(delegate()
  {
    using (SPSite site = new SPSite(purgeLogListPath))
    {
       try
       {
         SPWeb web = site.OpenWeb("/");
         SPList list = web.GetListFromUrl(listPath);
         DateTime today = DateTime.Now;

         SPListItem item = list.Items.Add();

         item["Title"] = onWorkflowActivated1.WorkflowProperties.Item.DisplayName;
         item["Encoded Absolute URL"] = onWorkflowActivated1.WorkflowProperties.ItemUrl;
         item["Content Type"] = onWorkflowActivated1.WorkflowProperties.Item.ContentType.Name;
         item["Date Purged"] = today.ToString("MMMM dd yyyy");
         item["DateTime Purged"] = today.ToString("MMMM dd yyyy hh:mm:ss");

         item.Update();
         }
         catch (Exception ex)
         {
         string errorEntry = ex.Message;
         }
         }
         });
     }
    }

person Breezestew    schedule 09.11.2012    source источник


Ответы (1)


На самом деле не понимаю, о чем вы спрашиваете, но для устранения проблем с отладкой попробуйте сделать это следующим образом: 1) После развертывания вы должны перезапустить службу таймера 2) Через центральный администратор вы можете перейти к заданию таймера и выбрать `` Запустить сейчас '' чтобы запустить задание и начать отладку

person Mulder    schedule 15.11.2012