我正在撰写Windows Service
并尝试使用通用语法缓存MyDocuments
中的某些日志:
Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);`
但服务会崩溃,通过查看Event Viewer
,结果显示GetFolderPath
正在输出
C:\Windows\system32\EPiA\EPiAServiceLog.txt
而不是C:\Windows\Users\<Username>\Documents\EPiA\EPiAServiceLog.txt
这是什么意思?
答案 0 :(得分:0)
默认情况下,Windows服务不会作为交互式用户帐户运行(不使用与登录用户相同的凭据)。
因此,您获得的路径是正确的。如果将服务配置为以特定用户身份运行(无需与登录用户相同),则可以获取用户路径。