Здесь я сталкиваюсь с довольно специфической проблемой. У нас есть рабочий процесс утверждения OOTB, который записывает всю историю рабочего процесса в список истории рабочего процесса. Этот список очищается каждые 60 дней. Чтобы увеличить этот период времени, для которого сохраняется история рабочего процесса, я погуглил и обнаружил, что запустил этот код:
с использованием (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 день? Я пытался изменить системное время и перезапустить сервер и все такое, но у меня это не сработало.