簡體   English   中英

如何從SharePoint計時器作業報告狀態

[英]How to report status from a SharePoint timer job

我有一個SharePoint計時器作業,需要配置列表存在於網站集的特定位置。 如果該列表不存在,我想向用戶表明,以便他們可以創建(並填充當然)所述列表並重新運行該作業

我可以使用下面的代碼寫入事件日志,我知道我可以拋出一個異常來指示失敗的作業狀態,但我想要做的是拋出一個異常,其中的消息表明問題的方式不是要求查看ULS或訪問事件日志。 到目前為止,我已經找到了帖子這樣一個這一個沒有太多細節。

所以有兩個問題:1)有沒有辦法為計時器作業異常提供失敗消息? 2)拋出比Exception()更好的選擇嗎?

缺少網站集時使用的事件日志記錄

SPDiagnosticsService.Local.WriteEvent(0,  
    new SPDiagnosticsCategory("MyCategory",   
        TraceSeverity.Unexpected, 
        EventSeverity.ErrorCritical), 
    EventSeverity.ErrorCritical, 
    "Assert failed: if (!spweb.Exists)" + sp.Url, 
    sp.ToString());

我想用丟失的配置列表做什么

bool configListExists = ListExists(spweb, ConfigListName);  
if (! configListExists)  
{   
    ReportMissingConfigList();  
    throw new Exception("Configuration list not found");  
}  

public static bool ListExists(SPWeb web, string listName)
{
    return web.Lists.Cast<SPList>().Any(list => string.Equals(list.Title, listName));
}

我建議在配置列表旁邊有一個單獨的日志列表。 在此列表中,您可以在需要時寫入作業的狀態,然后用戶可以在此列表上設置通知,以便他們采取適當的措施。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM