我必须使用C#.net开发一个必须每天运行一次的应用程序。它只运行最多一分钟,因此开发Windows服务是过度的,并且计划任务是适当的方式。
但是,我有一些关于应用程序如何传达其结果的问题:
答案 0 :(得分:7)
回答你的问题 -
如果任务失败,因为它抛出了未经检查的异常,您会在Sheduled Task查看器中看到,会有一个“Last Result”,其值类似于0xe0434f4d
。或者,如果您返回的退出代码也将显示在“计划任务”查看器的“最后结果”列中。
写入控制台,例如Console.WriteLine("blah");
不会出现在任何地方。您需要写入事件日志或日志文件。
答案 1 :(得分:4)
如果您使用日志文件方式,仍然可以使用Console.WriteLine("blah");
。诀窍是重定向标准 Out 和错误流:
StreamWriter mylog = new StreamWriter("mylog.log");
Console.SetOut(mylog);
Console.SetError(mylog);
您还需要经常刷新缓冲区,以确保日志文件包含当前信息。
Console.Out.Flush();
这很快,很脏,你真的应该使用 Windows事件日志或log4net。
答案 2 :(得分:0)
AFAIK调度程序只是启动一个进程。您可以使用事件日志或其他日志记录系统来记录稍后需要参考的信息。
答案 3 :(得分:0)
Log4net是一个非常好的完整日志框架。我强烈推荐它。