C# 任务调度器库的C问题

C# 任务调度器库的C问题,c#,scheduled-tasks,C#,Scheduled Tasks,我为此到处奔波,不知道自己做错了什么。我正在使用Microsoft.Win32.TaskScheduler库。每次我遍历代码时,我的任务总是空的。这是代码 using (SqlConnection myConnection2 = new SqlConnection(ConfigurationManager.ConnectionStrings["DBConnection"].ConnectionString)) { myConnection2.Open(); SqlCommand

我为此到处奔波,不知道自己做错了什么。我正在使用Microsoft.Win32.TaskScheduler库。每次我遍历代码时,我的任务总是空的。这是代码

using (SqlConnection myConnection2 = new SqlConnection(ConfigurationManager.ConnectionStrings["DBConnection"].ConnectionString))
{
    myConnection2.Open();
    SqlCommand cmd2 = new SqlCommand("sp_GetProcessStart", myConnection2);
    cmd2.CommandType = CommandType.StoredProcedure;
    cmd2.Parameters.AddWithValue("@ID", txtTaskID.Text);

    SqlDataReader rdr = cmd2.ExecuteReader();

    if (rdr.HasRows)
    {
        while (rdr.Read())
        {
            string task = rdr["TaskName"].ToString();
            string newName = task.Remove(task.Length - 4, 4);

            using (TaskService ts = new TaskService())
            {
                Task t;
                t = ts.FindTask(newName);
                if (t != null)
                {
                    t.Run();
                }
            }
        }
    }
}

存储过程是SELECT ID FROM TABLE,其中ID=@ID。该表包含我的所有ScheduledTask,每个任务都分配了一个ID。但是,该表将它们存储为Task.job,因此我将删除.job。无论我做什么,t总是空的,我可以找出原因。

不要删除。作业扩展。它将找到您的工作。仅限工作扩展

如果这不起作用,尝试使用

OpenTask("jobname");

我让它工作了。来看看我没有拉入服务器变量,所以它不知道要运行什么任务。

你试过进入FindTask吗?是的,FindTask中的名称是正确的。我已尝试手动添加任务名称,但仍然无法工作。是否确定任务显示在TaskManager中,并且未被禁用或删除。此外,在Windows Vista以后的版本中,所有操作系统都使用任务计划程序2.0,并且它使用其他库。这是Server 2003。是的,它绝对不是残疾的,它是存在的。