如果我有Console.ReadLine(); windows schduler将如何反应?在我的控制台应用程序

时间:2016-04-05 16:34:51

标签: c# cmd console-application windows-server-2008-r2 taskscheduler

我在c#console应用程序中编写了以下内容。目前,当我在Visual Studio中运行此程序或手动运行.exe文件时,命令提示符将显示一条消息,并且用户需要单击任何键才能存在该窗口。

  Console.Write(syncResult + " Press any key to exsit..");
  Console.ReadLine();

现在我想从Windows任务调度程序调用此控制台应用程序,所以不确定这是否意味着命令提示符将保持活动状态?我的意思是当Windows任务在预定义的时间间隔内调用.exe时,.exe将继续运行。

由于

1 个答案:

答案 0 :(得分:5)

我有几个这样的工具在生产服务器上运行,并按照人们已经建议的方式处理所有这些情况。我有一个命令行参数,如/ q(安静)或/ u(无人值守),在调用Readline之前检查:

if (!args.Any(a => a == "/q"))
  Console.ReadLine();

否则任务将无法完成执行,几天后你会发现它们仍然在TaskManager中运行很多。当然,在创建任务时,您必须记住在配置中添加该参数。