在任务计划程序中创建作业 - C#

时间:2016-06-21 20:02:31

标签: c#

我正在用c#创建一个作业上传程序。我在配置文件中维护了所有作业信息。

当我创建一份工作时,我确实为该工作传递了一个独特的论点。

using (TaskService ts = new TaskService())
{
   TaskDefinition td = ts.NewTask();
   TimeTrigger trigger = new TimeTrigger();
   var startTime = TimeSpan.Parse(section1["ScheduledTime"]);
                            trigger.StartBoundary = DateTime.Today + startTime;
   trigger.Repetition.Interval = TimeSpan.FromDays(1);
   trigger.StartBoundary = DateTime.Now;
   trigger.Id = "XXX";
   trigger.Repetition.Interval = TimeSpan.FromDays(1);
   td.Triggers.Add(trigger);
   td.Actions.Add(new ExecAction(@"C:/JobUpload.exe", argument, ""));
   var foldername = ts.GetFolder(@"\Data");
   foldername.RegisterTaskDefinition(section1["JobName"], td);
 }

在程序中,我必须检查作业是否有任何参数。如果没有参数(当手动触发exe文件时会发生这种情况),那么我必须触发方法A.

另一方面,如果exe文件是通过任务调度程序中的作业触发的,那么它具有与之关联的参数,因此我必须触发方法B.

我不确定如何检查作业是否在C#中有任何参数。

任何帮助都将不胜感激。

编辑:

if (args.Length > 0)
{
  Console.WriteLine("more than 1");
  Logger.Info("More than 1");
  Debug.WriteLine("More than 1");
}

2 个答案:

答案 0 :(得分:0)

在您的控制台应用程序中,应该有一个带有static void Main(string[] args)方法的Program.cs。

通过命令行给出的任何参数都将传递给args参数。如果没有传入参数,则args.Length将为0。

请参阅Command-Line Arguments (C# Programming Guide)

答案 1 :(得分:0)

C#控制台应用程序入口点是主要方法。

static int Main(string[] args)

你可以看到该方法有一个参数,它是传递给你的应用程序的参数。

您可以像任何普通数组一样访问它们。

if(args[0] == "X")
   MethodOne();
else
   MethodTwo();
相关问题