我在這裏遇到一個相當奇怪的問題。我們有一個OOTB批准工作流程,它將所有工作流程歷史記錄記錄到工作流程歷史記錄列表中。該清單每60天清除一次。爲了增加此時間段,其工作流歷史記錄被保留,我用Google搜索了一圈,發現我已運行這段代碼:測試工作流程歷史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,但這意味着要等待一整天才能看到代碼是否工作。
是否有任何方法可以測試我的方案,以便可以將autocleanup天設置爲1 ,我不需要等一整天,看看我的代碼是否有效?有什麼辦法可以「愚弄」系統,認爲已經過去了一天?我嘗試改變系統時間並重新啓動服務器和所有內容,但它對我無效。
感謝您的回答,我該如何啓動計時器作業?將「STSADM -o execadmsvcjobs」做這項工作嗎? – ashwnacharya 2008-12-02 04:09:21