use*_*214 6 windows-services signalr uwp desktop-bridge
我们正在修复重新构建应用程序,并且正在讨论是否可以使用UWP而不是普通的WPF应用程序.
我们的应用程序需要能够访问整个文件系统和所有系统资源.这是一个问题,因为UWP应用程序是沙箱.但是,我们试图通过尝试以这种方式处理它来绕过该问题:
Windows服务 - >始终在系统上运行.这将在访问和修改系统资源时承载核心功能.
UWP应用程序 - >由于UWP是沙盒,UWP应用程序会将所有系统请求转发到Windows服务,这将完成所有主要工作并返回输出.
我们可以简单地在WPF中执行此操作,但我们希望使用UWP以利用WPF缺少的一些新的Windows 10核心功能,例如live tiles和Cortana.
你认为我们的方法是否可行?我们的一个不确定因素是我们如何让UWP应用程序与Windows服务进行通信 - 我们已经研究过SignalR和Desktop Bridge这样的东西,但不确定哪种方法可能是我们方案的最佳方法.
谢谢!
您认为我们的做法可行吗?
我们无法直接在 UWP 应用程序中使用 Windows 服务。为了在 Win32 应用程序和 UWP 应用程序之间建立 IPC,这里可能有帮助的是使用新的 Capability <rescap:Capability Name="runFullTrust" />,它使由 API 启动的 Win32 应用程序FullTrustProcessLauncher能够实现上层应用程序安全上下文以使用 WinRT API。但正如您在rescap此处看到的那样,这意味着此 UWP 应用程序无法在商店中发布。
您可以参考官方的AppService Bridge Sample。您可以尝试首先创建一个使用应用程序服务(可以与WPF和UWP应用程序通信,而不是传统Windows服务)并使用WinRT API的传统桌面应用程序,在构建此应用程序(不要运行它)后,生成一个.exe文件将被生成。但此应用程序无法运行,因为它使用 WinRT API,那么您可以创建 UWP 应用程序以使此桌面应用程序可执行。
我们已经研究了 SignalR 和 Desktop Bridge 之类的东西,但不确定哪种方法可能是适合我们场景的最佳方法。
所以我认为桌面桥可能是最好的方法。
| 归档时间: |
|
| 查看次数: |
3848 次 |
| 最近记录: |