【发布时间】:2022-08-24 19:09:29
【问题描述】:
我想使用我的 MAUI 应用程序在它运行的平台上启动一个单独的后台服务。当 MAUI 应用程序本身未运行时,此后台服务使用 gRPC 从服务器接收数据。我知道它高度依赖于平台,所以为了争论,让我们假设我们只在 Windows 上执行此操作。
我的策略是将后台服务 .exe 与用于在计算机上安装应用程序的 .MSIX 一起包含,只需将 .exe 添加到 Platform/Windows 文件夹,以便它与应用程序一起部署。但是,我无法使用 C# 找出该 .exe 文件的位置。 WPF 有一个 \"special\" 文件夹,可以将我定向到任何系统上的 Program Files 文件夹,然后 C# 会将该 .exe 作为 Windows 服务启动。我找不到 MAUI 的等价物,因为 MAUI 的 FileSystem 类不允许这样做。
也许我的策略不正确。如果不是这个,使用 MAUI 应用程序部署后台服务的好策略是什么?
谢谢!
-
@DanFriedman 感谢您的回复。不完全——问题在于能够在与应用程序相同的目录中找到并启动 .exe 文件,或者启动即使在应用程序关闭时也能正常工作的后台服务。
-
澄清一下,我的想法是,如果您可以使用 WPF 来做到这一点,那么也许能够使用特定于平台的代码可能允许您访问您需要的 API(在 MAUI 的文件系统之外)。对不起,如果它没有帮助,我还没有尝试过。
-
可以理解,尽管 MAUI 应用程序安装在不同的目录中,即使具有提升的权限,该目录也会锁定给最终用户。因此,即使我可以使用特定于平台的代码,它也可能不会让我访问后台服务的 .exe。
标签: c# .net grpc maui maui-windows