StreamWriter从任务计划程序C#调用时不写入文件【JAVA教程】

!
也想出现在这里? 联系我们
信息

StreamWriter从任务计划程序C#调用时不写入文件,第1张

概述StreamWriter从任务计划程序C#调用时不写入文件

我有以下函数,接受一个string,并将string内容logging到日志文件

private static voID LogEvent(string sEvent) { sEvent = DateTime.Now.ToString(\”yyyy-MM-dd hh:mm:ss\”) + \”|\” + sEvent; Console.Writeline(sEvent); try { using (StreamWriter oStreamWriter = new System.IO.StreamWriter(\”MyService_\” + DateTime.Now.ToString(\”yyyyMMdd\”) + \”.log\”,true)) { oStreamWriter.Writeline(sEvent); } } catch { } }

当调用该函数的程序是从命令行手动运行或双击可执行文件时,日志文件可以被创build或附加到。

我遇到的问题是我已经设置了这个程序每10分钟从一个任务调度程序调用,由于某些原因代码正确执行,除了程序没有创build或附加到日志文件。

计划任务使用与手动运行程序时相同的用户权限来调用程序。

windows在哪里存储“计划任务”控制台的设置?

如何从C#控制台应用程序中触发“任务失败”?

Register-ScheduledJob作为系统帐户(不必传入凭证)

windows任务计划程序输出

更改windows计划任务的电源设置

为什么会发生这种情况,我该如何解决这个问题。

在windows中执行预定任务时如何隐藏svchost.exe(dos提示符)

从cmd.exe脚本,我如何安排一个任务在下次启动(而不是再次)运行?

windowsbatch file压缩,然后FTP文件

windows Server 2008 R2date格式恢复为美国

在任务计划程序中运行C程序时出错

您目前正在尝试写入进程的当前工作目录 – 当它由任务调度程序执行时,可能类似于C:windowsSystem32 。 你不会写在那里。

指定一个绝对的文件名,我想你会没事的。 目前还不清楚您想写入的位置,但您应该仔细考虑 – 理想情况下,您应该将可执行文件与其生成的数据分开。 考虑将Environment.GetFolderPath与适当的SpecialFolder成员(例如ApplicationData )结合使用。

请注意,使用file.AppendAllText将使代码更简单,介意你。

乔恩Skeet的答案是正确的,问题是工作目录权限,你应该使用SpecialFolder写日志,但我想增加一个点,

从来没有像你那样的空白catch块为我catch { }这个catch语句有时隐藏了这么多未知的问题。

我觉得他们有点像传情说,

catch { // WHO CARES }

不要在地毯下隐藏这种例外情况,采取一些行动或通知最终用户或在某处标记发生了什么事情。 这将有助于后期的开发者。

总结

以上是内存溢出为你收集整理的StreamWriter从任务计划程序C#调用时不写入文件全部内容,希望文章能够帮你解决StreamWriter从任务计划程序C#调用时不写入文件所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

© 版权声明
THE END
喜欢就支持一下吧
点赞197 分享
评论 抢沙发

请登录后发表评论

    请登录后查看评论内容