任务调度程序库的C#问题

时间:2011-06-14 15:59:21

标签: c# scheduled-tasks

我已经为此而去了所有地方,无法弄清楚我做错了什么。我正在使用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 WHERE ID = @ID。该表包含我的ScheduledTasks的所有{{1}},每个都分配了一个ID。但是,该表将它们存储为“Task.job”,因此我删除了“.job”。不管我做什么,t总是空的,我可以找出原因。

2 个答案:

答案 0 :(得分:0)

请勿删除.job扩展名。它只能找到.job扩展名的作业。

如果不能解决问题,请尝试使用

OpenTask("jobname");

答案 1 :(得分:0)

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