gpt4 book ai didi

C# Windows 服务文本编写器

转载 作者:太空宇宙 更新时间:2023-11-03 14:07:33 25 4
gpt4 key购买 nike

我已经创建了一个使用 LocalSystem 帐户的标准 Windows 服务。对于日志文件,我使用 textwriter 写入 C:\Users\useraccount 目录中的指定文件。问题是,当在 LocalSystem 下作为服务运行时,它根本不想创建或写入文件。

 string dir = @"C:\Users\useraccount\log.txt";
StreamWriter sw = File.AppendText(dir);

如您所见,该目录是硬编码的,因此不存在任何基本目录冲突,因为 LocalSystem 将在 System32 或类似性质的系统中启动。该文件夹的权限允许系统帐户完全访问它(Windows 7),那么为什么我无法创建/写入该文件?

感谢任何输入!

编辑:

显然,当我确实需要它以标准用户身份运行时,日志记录程序线程也以 LocalSystem 身份运行。那么我如何从服务执行线程进程以在本地用户帐户下而不是在 LocalSystem 下运行。

我使用 Thread.new(process),其中 process 是一个附加程序。流程程序在写入任何内容之前需要接收输入,而它没有接收到输入是因为它在错误的帐户上。我该如何解决这个问题?

最佳答案

应该使用与 using(...) 相同的技巧,但您尝试过吗:

sw.Close();

没有它,只有一个空文件,但不会抛出异常..

关于C# Windows 服务文本编写器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8922850/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com