У меня возникла довольно сложная проблема. У нас есть рабочий процесс утверждения OOTB, который регистрирует всю историю рабочего процесса в списке истории рабочих процессов. Этот список очищается каждые 60 дней. Чтобы увеличить этот период времени, в течение которого история рабочего процесса сохраняются, я гугл вокруг и обнаружил, что я запускаю этот код:Тестирование истории рабочих процессов Autocleanup
с помощью (SPSite wfSite = новый SPSite (SiteURL)) {
using (SPWeb wfWeb = wfSite.OpenWeb(webName))
{
SPList wfList = wfWeb.Lists[listName];
SPWorkflowAssociation _wfAssociation = null;
foreach (SPWorkflowAssociation a in wfList.WorkflowAssociations)
{
if("approval 1" == wfAssociationName.ToLowerInvariant())
{
a.AutoCleanupDays = newCleanupDays;
_wfAssociation = a;
assoCounter++;
}
else
{
_wfAssociation = a;
}
}
wfList.UpdateWorkflowAssociation(_wfAssociation);
}
}
Код работает отлично, в том смысле, что он не выбрасывает никаких исключений. Все идет нормально. Но теперь моя проблема в том, что мне нужно проверить, работает ли мой код. Поэтому я устанавливаю переменную newCleanupDays равным 0. Но я вижу, что новые рабочие процессы по-прежнему регистрируются в списке истории рабочих процессов. Я могу установить переменную в 1, но это означало бы ожидание целого дня, чтобы увидеть, работает ли код.
Есть ли способ проверить мой сценарий, чтобы я мог установить дни автозапуска для 1 , и мне не нужно ждать целый день, чтобы увидеть, работает ли мой код? Могу ли я «обмануть» систему, думая, что прошло 1 день? Я попытался изменить системное время и перезапустить сервер и все, но это не сработало для меня.
Спасибо за ответ, как мне начать работу по таймеру? Будет ли «STSADM -o execadmsvcjobs» выполнять эту работу? – ashwnacharya 2008-12-02 04:09:21