gpt4 book ai didi

UWP 应用与 Windows 服务的通信

转载 作者:行者123 更新时间:2023-12-03 16:18:55 24 4
gpt4 key购买 nike

我们正在修复重新构建应用程序,并正在讨论是否可以使用 UWP 代替普通的 WPF 应用程序。

我们的应用程序需要访问整个文件系统和所有系统资源的能力。这是一个问题,因为 UWP 应用是沙盒化的。但是,我们正试图通过以这种方式解决该问题来绕过该问题:

  • window 服务 -> 始终在系统上运行。这将承载访问和修改的核心功能
    系统资源。
  • UWP应用 -> 由于 UWP 是沙盒化的,UWP 应用程序会将所有系统请求转发到 Windows 服务,这将完成所有
    首当其冲的工作,只返回输出。

  • 我们可以在 WPF 中简单地执行此操作,但我们希望使用 UWP 以利用 WPF 缺少的一些新的 Windows 10 核心功能,例如动态磁贴和 Cortana。

    您认为我们的方法可行吗?我们的不确定性之一是我们如何让 UWP 应用与 Windows 服务进行通信——我们已经研究了 SignalR 和桌面桥之类的东西,但不确定哪种方法可能是我们方案的最佳方法。

    谢谢!

    最佳答案

    Do you think our approach is feasible?



    我们不能直接在 UWP 应用中使用 Windows 服务。为了在 Win32 应用程序和 UWP 应用程序之间建立 IPC,这里可能有帮助的是使用新功能 <rescap:Capability Name="runFullTrust" /> ,并启用由 FullTrustProcessLauncher 启动的 Win32 应用程序用于实现上级应用安全上下文以使用 WinRT API 的 API。但正如你所见 rescap在这里,这意味着此 UWP 应用无法在 Store 中发布。

    可以引用官方 AppService Bridge Sample .您可以尝试先创建一个使用 App service 的传统桌面应用程序(它可以与 WPF 和 UWP 应用程序通信,而不是传统的 Windows 服务)并使用 WinRT API,在构建此应用程序后(不要运行它),将生成一个 .exe 文件。但此应用无法运行,因为它使用 WinRT API,然后您可以创建您的 UWP 应用以使此桌面应用可执行。

    we've looked into things like SignalR and the Desktop Bridge but are unsure which may be the best approach for our scenario.



    所以我认为桌面桥可能是这里最好的方法。

    关于UWP 应用与 Windows 服务的通信,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40536376/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com