使用C#编程的计划Windows任务
问题描述:
我试图使用此软件包:http://taskscheduler.codeplex.com/在登录时每5分钟运行一次sheduled任务。不幸的是,当我对其他包装做同样的事情时,它给了我一个访问被拒绝的错误信息?这里有帮助吗?使用C#编程的计划Windows任务
错误消息:
System.UnauthorizedAccessException: 'Access is denied. (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED))'
代码:
using (TaskService ts = new TaskService())
{
TaskDefinition td = TaskService.Instance.NewTask();
td.RegistrationInfo.Description = "Handles background work for the XRML application.";
Trigger wt = Trigger.CreateTrigger(TaskTriggerType.Logon);
wt.Repetition.Duration = TimeSpan.FromDays(2000); // last forever
wt.Repetition.Interval = TimeSpan.FromMinutes(5); // every 5 minutes
td.Triggers.Add(wt);
td.Actions.Add(@"C:\Users\User\Desktop\hello2.txt", "c:\\test.log");
TaskService.Instance.RootFolder.RegisterTaskDefinition("XRML Helper", td); // just to test
}
答
确保IIS已经足够多的权利,你想要写或冒充确实有访问
+0
在OP代码中没有文件访问权限。应用程序池帐户无权访问任务计划程序的可能性更大 –
+0
可能是这种情况,那么请使用模拟。 – Danny
帖子的用户的文件夹* full * exceptino消息,包括其调用堆栈。很可能,应用程序池的帐户(默认情况下是受限帐户)无权访问或修改任务计划程序服务 –