nei*_*ldt 6 c# windows scheduled-tasks streamwriter
我有以下函数,它接受一个字符串,并将字符串内容记录到日志文件中.
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
{
}
}
Run Code Online (Sandbox Code Playgroud)
当从命令行手动运行调用该函数的程序或双击可执行文件时,将创建或附加日志文件.
我遇到的问题是我已经将程序设置为每10分钟从任务调度程序调用一次,并且由于某种原因代码正在执行,除了程序没有创建或附加到日志文件.
计划任务使用与手动运行程序时相同的用户权限来调用程序.
为什么会发生这种情况,我该如何解决它.
Jon*_*eet 14
您当前正在尝试写入进程的当前工作目录 - 这可能就像C:\Windows\System32任务调度程序执行时一样.你无法在那里写作.
指定绝对文件名,我想你会好的.目前尚不清楚,你就想写,但你应该想想仔细-最好你应该从它生成的数据分开你的可执行文件.考虑Environment.GetFolderPath与合适的SpecialFolder成员一起使用(例如ApplicationData)
请注意,使用File.AppendAllText会使代码更简单,请注意.
| 归档时间: |
|
| 查看次数: |
2677 次 |
| 最近记录: |