如何在一个UWP设备中发送字符串交叉应用程序?

如何在一个UWP设备中发送字符串交叉应用程序?,uwp,windows-10-iot-core,cross-application,Uwp,Windows 10 Iot Core,Cross Application,我正在开发由三个独立的应用程序组成的应用程序。(两个后台,一个带有GUI)运行在Raspberry PI 3B+上,具有Windows 10 IOT核心。原理图很简单 通信器->数据转换->可视化 我的问题是,如果没有用户活动,我无法有效地将数据从一个应用发送到另一个应用。Windows数据传输解决方案需要用户操作或启动其他应用程序。() 数据是短JSON序列化为字符串的对象 我尝试了TCP协议,但它不允许在一个设备上跨应用(为什么?我不明白) 现在我在图片文件夹中创建文本文件,下一个应用程序将

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

通信器->数据转换->可视化

我的问题是,如果没有用户活动,我无法有效地将数据从一个应用发送到另一个应用。Windows数据传输解决方案需要用户操作或启动其他应用程序。()

数据是短JSON序列化为字符串的对象

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

现在我在图片文件夹中创建文本文件,下一个应用程序将读取该文件并删除该文件。这种方法速度慢,而且经常崩溃

还有其他解决办法吗?最好的方法是流式传输或某种快速文件传输

谢谢你的建议

解决方案:

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

看看这个:

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

这是在从UWP到后台桌面应用程序的双向通信中使用服务的最干净、最直接的示例。在解决方案的Win32部分中,有一种情况是“Windows”引用错误,请删除它,然后按照并尝试通过浏览选择连接它,它通常位于c>程序文件x86>Windows工具包>UnionMetadata>yourversion>Windows.winmd中,而且该示例很旧,因此您可能需要更改NET和min Windows的默认版本

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


该应用程序还使用UWP的runfulltrust功能,这是一种可靠的启动win32应用程序的方法,如果您感兴趣,可以查看一些文章并查看清单a模式以更好地了解这一点。

我正在尝试实现它。是否有必要将后台任务作为UWP应用程序的参考?当我尝试独立运行后台任务时,它抛出空指针异常
var details=taskInstance.TriggerDetails作为AppServiceTriggerDetails
appServiceconnection=details.appServiceconnection因为详细信息是null@110mat110,应用程序服务无法托管在无头应用程序中的独立后台任务中。将Windows运行时组件添加为应用程序的引用非常关键,否则应用程序服务将无法在运行时连接。