我正在编写一个具有“LocalService”帐户类型的Windows服务。我有一个存储它必须做的文件。
我还有一个Windows窗体GUI,其中还访问该文件以添加/删除要执行的服务的操作实例。 (不知道它的相关性,但服务从Web服务下载表并将它们导出到用户可以访问的任何数据库。这些下载计划定期发生)
该服务仅安装在用户帐户上。
我计划将文件存储在用户appdata文件夹中但是在调试服务时我收到错误“访问路径[路径]被拒绝”
您建议在哪里存储此文件,以便可以从两个程序访问它? 感谢
编辑:再看一点,我意识到了
Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData)
找到服务和windows窗体应用程序的不同路径。 那个应用程序无法访问服务appdata,就像服务似乎无法访问用户appdata一样。所以同样的问题就出现了!
另一个编辑: 事实证明
Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData)
可从本地服务和用户程序访问 - doh
...但有些地方似乎只读......
答案 0 :(得分:0)
我认为有三种选择:
上行 - 两个进程对文件系统的各个部分具有相同的访问权限,因此应删除您的直接问题
下行 - 如果用户更改密码,则两者将不同步。
上升 - 写作没问题
下行 - 你有效地发明了自己的标准。 15年前,这将是一个不费脑子的注册表,但这些天我得到的印象是注册表不赞成(尽管ms仍然依赖它!)。如果你确实沿着注册表路线走,请确保你的目标是hklm而不是hkcu否则你会遇到同样的问题!