编程语言
首页 > 编程语言> > c#-从Web应用程序运行计划的任务

c#-从Web应用程序运行计划的任务

作者:互联网

我正在使用以下代码从Web应用程序执行Windows计划的任务. Web应用程序和计划的应用程序都在同一服务器上运行.

var proc = new Process
{
    StartInfo =
    {
        UseShellExecute = false,
        FileName = @"C:\Windows\System32\schtasks.exe",
        Arguments = "/run /tn StartDataSync",
        UserName = "admin123",
        Password = passwd
    }
};
proc.Start();
proc.WaitForExit();

现在,我想从在同一网络域中另一台计算机上运行的Web应用程序中运行相同的计划应用程序.研究之后,我发现可以在/ S系统参数中指定要连接的远程计算机的名称或IP地址.因此,我尝试了以下代码,但无法正常工作.

var proc = new Process
{
    StartInfo =
    {
        UseShellExecute = false,
        FileName = @"C:\Windows\System32\schtasks.exe",
        Arguments = "/run /S 192.168.5.202 /tn StartDataSync",
        UserName = "admin123",
        Password = passwd
    }
};
proc.Start();
proc.WaitForExit();

解决方法:

试试这个答案..根据这个post

using TaskScheduler;

using (TaskService tasksrvc = new TaskService(server.Name, login, domain, password)
{
    Task task = tasksrvc.FindTask(taskName);
    task .Run();       
}

任务计划程序的dll可以在这里找到https://github.com/dahall/taskscheduler

标签:scheduled-tasks,asp-net,c,net
来源: https://codeday.me/bug/20191029/1961154.html