SharePoint计时器作业在按计划运行时无法正常工作,但在手动运行时很好

时间:2009-11-04 11:40:41

标签: c# sharepoint timer-jobs

我有一个SharePoint计时器作业,它接受文档库并放置文档,将它们转换为PDF并每晚将它们放入SQL服务器。问题是,当计划调用时,计时器作业似乎不起作用。如果我安装它然后使用我编写的一个小控制台应用程序,请调用它正常工作的执行。当它按计划运行时它没有。

我知道工作正在运行的原因:

  1. 计时器作业状态显示它在午夜过后约12分钟(午夜开始)完成
  2. 目标数据库表已被截断(作业是在导出之前执行此操作)
  3. 我知道某些事情的原因是错误的:

    1. 数据库为空,不包含任何文档。手动运行它会用文档填充它
    2. 第一行代码应该输出到事件日志,但它不会执行一次。手动运行作业多次正确记录。测试写入日志的另一个计时器作业在此服务器上正常工作。
    3. 现在我认为在owstimer下运行时,与控制台应用程序相反,权限很奇怪。但事实是,它做的第一件事就是登录到Windows事件日志而这种情况并没有发生,但是在只执行此操作的计时器作业中,它确实有效。截断代码正在被记录,这在事件记录之后似乎没有发生。

1 个答案:

答案 0 :(得分:1)

当您通过控制台应用程序运行作业时,它正在您的用户的安全上下文中运行。

当通过计时器运行作业时,它正在运行该进程的用户的安全上下文中运行。

检查哪个用户正在运行计时器作业,检查该用户的权限。 事件日志或sharepoint日志文件中应该有错误。