【问题标题】:How to Read from a file using a Background Process in Electron App when File is modified?修改文件时如何使用 Electron App 中的后台进程读取文件?
【发布时间】:2019-08-16 22:20:18
【问题描述】:

我有一个电子应用程序,可以从Microsoft store 下载和安装。我想用电子应用程序附加一个后台进程,该应用程序(Background Process)将监视一个文件。如果文件被修改,它将从该文件中读取一些信息并发送回渲染器进程。

我将https://github.com/felixrieseberg/electron-uwp-background 作为参考,但不幸的是,无法构建background-task-registerer 项目。 我记录了问题https://github.com/felixrieseberg/electron-uwp-background/issues/4

我也提到了https://docs.microsoft.com/en-us/windows/uwp/launch-resume/create-and-register-an-inproc-background-task,但没有成功。

我做过的事:

  1. 创建了Background task component[Windows Runtime Component (Universal Windows)]
  2. 注册后台任务[Blank App (Universal Windows)]

当我双击 Package.appxmanifest 并转到 Declarations 选项卡->可用声明->Background Tasks 时,我没有看到任何与文件属性更改相关的属性。

有人可以指导我吗? 提前致谢。

【问题讨论】:

  • UWP 不提供这样的 backgroundTask 来监控文件属性的变化以便长时间运行。我认为您可以使用 TimeTrigger 定期监视文件,但它只能在 15 分钟内执行一次。
  • 谢谢,你的意思是说我应该使用Timer属性docs.microsoft.com/en-us/uwp/api/…除此之外,从文件中读取的实现应该在Background task component吗?
  • 是的,你可以使用TimeTrigger来创建backgroundTask,并且读取过程应该在Background task组件中实现
  • 谢谢。让我试一试。
  • @NicoZhu-MSFT 我想问一个关于同一件事的问题,尽管它与这个问题无关:在 UWP 中有没有办法为某个后台任务,决定什么时候开始第一次?非常感谢。

标签: uwp electron electron-builder electron-packager


【解决方案1】:

UWP 不提供这样的 BackgroundTask 来监控文件属性的长期变化。我认为您可以使用TimeTrigger 定期监视文件,但它只能在 15 分钟内执行一次。并且流程应该在后台任务组件中实现

【讨论】:

  • 谢谢,我每 15 分钟从文件中读取数据时就在想,然后如何将这些数据发送到渲染器进程。你能指导我吗?
  • 如果文件有changed,你可以发送本地toast通知
  • 我可以发送我可以在屏幕右下角看到的 tost 通知。但我将如何在我的电子应用程序中捕获。如果我可以在主进程中捕获,然后使用 IPC 我可以发送到渲染器进程。如果我在渲染器进程中捕获,那么它会更好。知道我该怎么做吗?
  • 更好的方法是将更改存储到本地存储中,并在您单击通知时检索数据。
  • 但是,电子应用程序不允许从任意路径读取,在我的例子中它的窗口商店应用程序
猜你喜欢
  • 1970-01-01
  • 2020-07-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-07-30
  • 2012-06-30
  • 1970-01-01
  • 2018-11-20
相关资源
最近更新 更多