gpt4 book ai didi

c# - 相对路径在 Windows 服务中不起作用

转载 作者:太空狗 更新时间:2023-10-29 21:27:17 24 4
gpt4 key购买 nike

我的情况有点奇怪。在 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 服务和日志的设置?

最佳答案

因为 working directory of Windows services%WinDir%\System32

你可以自己验证一下:

File.AppendAllText(AppDomain.CurrentDomain.BaseDirectory + "\\TestFile.txt",
"My working directory is: " + Directory.GetCurrentDirectory());

and where you typically(in which path) store settings for windows service and logs?

  • 设置:在 Windows 注册表中。
  • 日志:在 Windows 事件日志中。
  • 您的服务可能需要的任何其他文件:System.Environment.SpecialFolder.CommonApplicationData 下的某个位置(例如 C:\ProgramData\myService)。有关详细信息,请参阅以下问题:
    What is the significance of the ProgramData folder in Windows? .

关于c# - 相对路径在 Windows 服务中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30639316/

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