我已经为此而去了所有地方,无法弄清楚我做错了什么。我正在使用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总是空的,我可以找出原因。
答案 0 :(得分:0)
请勿删除.job扩展名。它只能找到.job扩展名的作业。
如果不能解决问题,请尝试使用
OpenTask("jobname");
答案 1 :(得分:0)
我得到了它的工作。来发现我没有拉入我的服务器变量,所以它不知道要运行什么任务。