SharePoint 2010:如何从自定义计时器作业访问任何列表

本文关键字:作业 计时器 访问 任何 列表 自定义 2010 SharePoint | 更新日期: 2023-09-27 17:58:40

我正在C#中开发一个SharePoint 2010计时器作业,它更新从SQL数据库中检索到的员工状态(无论他们当前是否可用)信息,以便更新并存储在员工SharePoint列表中(所需的方法是能够访问我选择的任何列表,而不仅仅是一个指定/硬编码的列表)。我创建了一个SharePoint空项目,其唯一功能是使用事件接收器类的计时器作业,该类在FeatureActivated和FeatureDeactived方法中具有自定义代码。计时器作业类的Execute方法使用SqlClient获取数据,并将其存储到一个字典对象中,该对象的键值为Employee ID,值为status。然后,该字典用于检索"员工SharePoint"列表中的员工记录并更新状态。

我的问题是,无论我为计时器作业选择了什么范围,我都无法访问我想要的任何SharePoint列表。我已经尝试过使用SPWeb和SPSite在列表的URL中进行硬编码,几乎什么都可以。我已经检查了我的网站的网站集,我有两个网站集("/","testsitecollection"),第二个根本没有使用。

例如"SPWebweb=site。OpenWeb();SPListlist=web。列表["雇员"];

引发异常:在中找不到"List"Employeeshttp://www.mysite"

我想知道是否有人对此事有意见。在源代码方面,我遵循了网络上的许多示例,例如:http://www.andrewconnell.com/blog/articles/CreatingCustomSharePointTimerJobs.aspx

我在网上找到的所有自定义计时器作业的例子都在前面的网站上更新列表,比如任务列表。

感谢任何添加意见的人。

SharePoint 2010:如何从自定义计时器作业访问任何列表

我遇到了同样的问题,我发现它对我有效:您应该重新启动OWSTimer.exe(控制面板-->管理工具-->服务中的窗口服务)。您可能正在应用更改,但Sharepoint计时器服务尚未获取最新代码