2

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

我的问题是,无论我为计时器作业选择什么范围,我都无法访问我想要的任何 SharePoint 列表。我已经尝试使用 SPWeb 和 SPSite 对列表的 URL 进行硬编码,几乎任何东西。我已经检查了我的站点的站点集合,并且我有 2 个站点集合(“/”、“testsitecollection”),而第二个根本没有使用。

例如" SPWeb web = site.OpenWeb(); SPList list = web.Lists["Employees"];

抛出异常:“在http://www.mysite找不到列表“员工” ”

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

我在 Web 上找到的所有示例,用于在前端站点上更新自定义计时器作业列表,例如任务列表。

感谢任何添加输入的人。

4

1 回答 1

1

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

于 2013-07-04T04:33:32.563 回答