【发布时间】:2015-08-18 19:08:39
【问题描述】:
我的情况有点奇怪。如果我输入以下代码,则在 Windows 服务的 onstart 方法中:
File.AppendAllText(AppDomain.CurrentDomain.BaseDirectory + "\\TestFile.txt", "Started " + AppDomain.CurrentDomain.BaseDirectory);
它可以工作并且存储在文本文件中:
Started C:\Users\guser\Documents\Visual Studio 2012\Projects\FreeSpaceControlService\FreeSpaceControlService\bin\Debug\
文本文件在调试目录中创建。
但是如果我使用这样的代码而不是上面的代码(在同一个地方):
File.AppendAllText("TestFile.txt", "Started");
文本文件不是在与上述相同的目录中创建的。为什么它不在同一个目录中创建? (现在我检查它似乎是在 WIndows/System32 中创建的 - 是否有两个可执行文件?为什么第一个返回 Debug 目录?)
您通常在哪里(在哪个路径中)存储 Windows 服务和日志的设置?
【问题讨论】:
-
window服务中的环境变量与登录时的环境变量不一样。必须将服务的所有者更改为以用户身份运行,而不是管理员身份。
标签: c#