2010-10-28 61 views
1

我们有一个Windows服务作为我们软件的一部分,即使没有用户登录到系统,它也可以在后台将数据传输到远程数据库。目前这些数据被缓存在Program Files目录中,我认为这不是一个好主意,因为它要求我们降低Program Files中目录的安全权限。我认为它应该缓存这个%LocalAppData%文件夹,以便我们不必这样做。Windows服务应该在哪里写应用程序数据?

在这里被认为是最佳实践?

我们倾向于作为发展过程中一个正常的应用程序,使调试更容易运行的服务额外的要求,这将是很好,如果我们可以很容易地进行模式切换,而不会丢失任何缓存数据。尽管如果有必要,我们可以没有这种生活

感谢

回答

1

是的,你应该创建%LocalAppData%,而不是一个全系统的位置,在你的文件。您可以通过CSIDL_LOCAL_APPDATASHGetFolderPath()以获取该文件夹的实际名称。

在开发过程中,您可以配置服务来模拟连接的用户,以便将文件存储在同一个地方无论是在服务和正常应用模式。

0

我会说,最好的地方是该服务正在运行,并且用户的用户应用程序数据文件夹。你使用默认的本地服务用户还是自定义用户?我不确定本地服务用户的AppData会解析哪个目录,但我认为那是你想要的。

+0

我相信我们是作为自定义用户运行的。 – 2010-10-28 10:49:21

相关问题