Windows 服务应该在哪里写入应用程序数据?

2024-04-19

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

这里什么被认为是最佳实践?

作为额外的要求,我们倾向于在开发过程中将服务作为普通应用程序运行,以使调试更容易,如果我们能够轻松切换模式而不丢失任何缓存数据,那就太好了。尽管如果有必要的话我们也可以没有这个。

Thanks


是的,您应该在下创建文件%LocalAppData%而不是系统范围的位置。你可以通过CSIDL_LOCAL_APPDATA to SHGetFolderPath() http://msdn.microsoft.com/en-us/library/bb762181%28VS.85%29.aspx为了获取该文件夹的实际名称。

在开发过程中,您可以将服务配置为模拟连接的用户,以便在服务和正常应用程序模式下将文件存储在同一位置。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Windows 服务应该在哪里写入应用程序数据? 的相关文章

  • Windows 服务中线程内的计时器

    我不知道如何以最佳方式解决这个问题 现在我有一个 Windows 服务 其唯一任务是从具有特定 DSN 的数据库收集数据 然后在数据有效时发送电子邮件 该服务包含一个计时器 每 5 分钟滴答一次并执行上述任务 现在我需要重新编写Window
  • jenkins 服务无法在 Windows 2008 上启动

    我正在尝试将 Jenkins 作为服务安装在 Windows Server 2008 Datacenter SP2 上 我似乎无法让它作为服务运行 寻找任何想法来帮助实现它 当我尝试使用本机 Windows 软件包安装 Jenkins 时
  • AssemblyInstaller 中的服务类型

    我想通过编程方式安装 Windows 服务example https stackoverflow com questions 1195478 how to make a net windows service start right aft
  • 从窗口服务显示窗口窗体

    我正在创建一个窗口服务 我的要求是按特定时间间隔显示 Windows NT 服务的窗口窗体 出于测试目的 我只想在服务启动时显示表单 protected override void OnStart string args eventLog1
  • 如何在登录 Windows 之前启动 WPF 应用程序?

    我想在登录 Windows 之前运行 WPF 应用程序 它不应该执行任何现有的 UI 只需调用 ApplicationStartup 事件 它会触发我需要的功能 目前我正在将 Windows 服务与应用程序结合使用 因此服务在登录之前运行
  • Windows 服务托管 TCP WCF 服务

    我正在尝试在 Windows 2008 R2 服务器上托管 WCF 服务作为 Windows 服务 我按照 msdn 提供的指示进行操作 在这里找到 http msdn microsoft com en us library ff64981
  • 无法从 Windows 服务连接到 WCF 服务

    我有一个 WCF 服务托管在远程计算机上 在我的本地计算机上 我有一个 WPF 应用程序和一个 Windows 服务 我希望能够连接到 WCF 服务 WPF 应用程序可以正常连接和通信 但由于某种原因 Windows 服务无法连接 它们的
  • 使 Windows 服务像从特定用户运行一样运行

    我想创建一个 Windows 服务来安装和卸载真密码 http www truecrypt org 体积 这个问题与 true crypt 无关 所以如果您不知道该程序是什么也没关系 True Crypt 只是一个使您能够加密数据的程序 当
  • 追踪 Windows 服务中的 stackoverflow 错误

    我对我的一个 Windows 服务做了一个小调整 然后运行它并得到了 描述 由于堆栈溢出 进程被终止 所以我回到旧版本并运行它 但仍然收到 stackoverflow 错误 最糟糕的是我已经调试了两者并且我没有再次出现此错误 如何 什么是找
  • 将 mongodb 作为 Windows 服务运行

    我已经在 win32 上安装了 mongodb 我正在尝试将其作为服务运行 我已按照此处发布的说明进行操作 http www deltasdevelopers com post Running MongoDB as a Windows Se
  • 在 TeamCity 代理的 Windows 服务下运行时,MicrosoftWebDriver 构建时失败

    使用 Windows 10 专业版 MicrosoftWebDriver 版本 14393 我在使用 Edge 运行 UI 测试套件时遇到问题 而 Chrome Firefox 和 IE11 都可以 在标准 Windows 开发环境中运行时
  • Net5 上的 ServiceProcessInstaller 在哪里?

    过去我使用过这些课程安装人员 https learn microsoft com en us dotnet api system configuration install installer view netframework 4 8 服
  • Windows 服务错误 1053

    我目前正在编写一个 Windows 服务 它连接到 crm 系统以拉下一个计划 然后运行各种数据源等 我已经一切正常 除了当我安装所有内容并尝试运行启动服务时 我收到以下错误 错误 1053 服务未响应启动或控制请求 及时时尚 这是我在 S
  • Windows 服务、阻塞收集和多线程问题

    我的场景 Windows 服务 NET 4 我轮询数据库中的实体 当新实体进来时 它们会被添加到BlockingCollection 在服务的OnStart我创建一个System Threading Tasks Task他的工作是枚举Blo
  • Windows 服务恢复未重新启动服务

    我将 Windows 服务的恢复配置为在失败后延迟一分钟重新启动 但我从未真正重新启动服务 即使有最明显的错误 我确实在事件查看器中收到一条消息 无法在源 MyApp exe 中找到事件 ID 1 的描述 本地计算机可能没有必要的注册表信息
  • Sql 异常:管道的另一端没有进程

    我无法从 C 代码访问我的 sql 服务器连接 我收到此错误 Sql 异常 管道的另一端没有进程 这是我的 app config 中的连接字符串
  • 有没有办法从 Windows 7 上的 Windows 服务启动 GUI 应用程序?

    我做了很多搜索 寻找一种从 Windows 7 上的 Windows 服务启动 GUI 应用程序的方法 我发现的大部分内容是 Windows 7 服务现在在单独的用户会话中运行 并且无法显示任何图形界面给当前用户 我想知道是否有任何解决方法
  • 登录方式使用GINA定制

    我知道在 GINA 中找到大师并不容易 但我的问题最接近进程间通信 IPC 我用非托管 c 编写了我的自定义 GINA 我在其中包含了一个方法来检查用户尝试的指纹的有效性为了登录 该函数将调用正在运行的系统Windows服务中用C 编写的一
  • 如何通过批处理文件检查服务是否正在运行并启动它,如果它没有运行?

    我想编写一个执行以下操作的批处理文件 Check if a service is running 如果正在运行 请退出批处理 如果没有运行 启动该服务 到目前为止 我在谷歌上搜索的代码示例被证明不起作用 所以我决定不发布它们 启动服务是通过
  • 线程睡眠和Windows服务

    我正在开发一个 Windows 服务 该服务存在一些问题Thread Sleep 所以我想我会尝试使用计时器 因为这个问题建议 在 Windows 服务中使用 Thread Sleep https stackoverflow com que

随机推荐