我有一个 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));
}