为什么StreamWriter不能在Windows服务中运行?

kar*_*ins 1 .net c# service streamwriter

我有这个简单的代码,记录将日志附加到文本文件:

    public static void RecordToFile(string filename, Log log)
    {
            TextWriter textWriter = new StreamWriter(Constants.APP_PATH + 
                "\\" + filename, true);
            textWriter.WriteLine(log.ToString());
            textWriter.Close();
    }
Run Code Online (Sandbox Code Playgroud)

这在Windows窗体应用程序中完美运行.但是,使用instsrv和srvany技巧,我将其作为Windows服务.该服务运行正常,访问数据库,执行查询和所有...除了这个StreamWriter.日志不会得到应有的更新.有什么想法吗?

ang*_*son 6

很可能该服务是在没有该目录访问权限的用户凭据下运行的.

因此,请检查该服务的属性对话框,然后选中"登录"选项卡以查看其登录的内容.