1

我正在开发由三个独立的应用程序组成的应用程序。(两个背景,一个带有 GUI)在带有 Windows 10 IOT Core 的 Raspberry PI 3B+ 上运行。原理图很简单

Communicator -> 数据转换 -> 可视化

我的问题是,如果没有用户活动,我无法有效地将数据从一个应用程序发送到另一个应用程序。用于数据传输的 Windows 解决方案需要用户操作或启动其他应用程序。(https://docs.microsoft.com/en-us/windows/uwp/app-to-app/

数据是短 JSON 序列化对象到字符串。

我尝试了 TCP 协议,但它不允许在一个设备跨应用程序上使用(为什么?我不明白)。

现在我通过在图片文件夹中创建文本文件来做到这一点,下一个应用程序将读取该文件并删除文件。这种方法很慢并且经常崩溃。

还有其他解决方案吗?最好的将是流或某种快速文件传输。

感谢您的任何想法。

解决方案:https ://docs.microsoft.com/en-us/windows/uwp/launch-resume/how-to-create-and-consume-an-app-service

它并不完美,因为在后台任务中您将执行另一个后台任务。但是效果还不错。

4

2 回答 2

1

看看这个:https ://docs.microsoft.com/en-us/windows/uwp/launch-resume/how-to-create-and-consume-an-app-service

它可以让您将同一设备上的数据发送到其他应用程序的后台任务

于 2018-09-07T11:05:06.533 回答
1

https://github.com/Microsoft/DesktopBridgeToUWP-Samples/tree/master/Samples/AppServiceBridgeSample/cs

这是 IMO 以从 UWP 到后台桌面应用程序的双向通信使用服务的最干净和最直接的示例,有一种情况是,在解决方案的 Win32 部分中,“Windows”引用是错误的,删除它并遵循并尝试通过浏览选择来连接它,它通常在c>Program files x86> Windows Kits> UnionMetadata>yourversion>windows.winmd,而且示例很旧,所以你可能想改变 NET 和 min Windows 的默认版本.

这个 Windows.winmd 文件只是一个元数据文件,它允许经典的 win32 桌面应用程序理解和读取 UWP 使用的较新的 API。

该应用程序还使用 UWP 的 runfulltrust 功能,这是触发 win32 应用程序的可靠方式,如果您有兴趣,请查看一些文章以及查看清单架构以更好地了解这一点。

于 2018-09-07T15:04:45.547 回答