WinRT中的应用程序间通信
在Windows 8上有两个WinRT应用程序(C#/ Xaml,如果重要)。第一个应用程序应该接收并向第二个应用程序发送一些数据。 最好的方法是什么? 可以使用WCF吗?
编辑:第一个应用程序知道第二个。 实际上第二个应用程序是一个身份validation服务器,它只提供一种获取令牌的方法。
不可能,这需要环回支持。 你只能打开测试的东西 ,你不能在用户的机器上依赖它。 CheckNetIsolation.exe实用程序可用于启用它,MSDN文章在这里 。
只强调测试 ,你不能发送这样的应用程序。 您的身份validation服务器需要在另一台机器上运行 考虑到它在同一台机器上运行时会受到损害的可能性,这非常重要。
没有完整的图片,在一个以UI为中心的应用程序模型(如WinRT)中运行身份validation服务器似乎是一个相当奇怪的设计决策。 它不能被认为是基于“云”的服务吗? 无论如何,我更愿意,不必在每个设备上分发该服务器的代码。
话虽如此,看看自定义股份合约解决方案 。 您基本上应该能够将身份validation请求作为DataRequest发送,并让“服务器”使用DataResponse进行响应。
code.msdn.com上有两个示例应用程序:
我偶然发现的一件事是: Windows.Networking.BackgroundTransfer
基本上来自本文: 在后台传输数据(使用C#/ VB / C ++和XAML的Windowsapp store应用)
但我实际上并没有通过孔文章和后台任务的概念。 也许有人可以对此发表评论?
我不确定它是否已被回答,但我发现使用LaunchFileAsync可以做到这一点。 示例如下://启动app var launchFileName =“june.kit”;
var folder = Windows.Storage.ApplicationData.Current.LocalFolder; var option = Windows.Storage.CreationCollisionOption.ReplaceExisting; // create file var launchFile = await folder.CreateFileAsync(launchFileName, option); // write content await Windows.Storage.FileIO.WriteTextAsync(launchFile, tempChk); // launch file bool success = await Launcher.LaunchFileAsync(launchFile);
其中launchFileName可能具有任何带有任何扩展名的名称,并且此扩展名应在packager.manifest文件中的调用应用程序的FileTypeAssociation中提及。
上述就是C#学习教程:WinRT中的应用程序间通信分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/cdevelopment/1025611.html