当前位置: 首页 > 编程语言 > C#

WinRT中的应用程序间通信分享

时间:2023-04-10 22:24:07 C#

C#学习教程:WinRT中的应用程序间通信第一个应用程序应该接收和发送一些数据给第二个应用程序。最好的方法是什么?可以使用WCF吗?编辑:第一个应用程序知道第二个。实际上,第二个应用程序是一个身份验证服务器,它只提供一种获取令牌的方法。不可能,这需要环回支持。你只能打开东西进行测试,你不能依赖它在用户的机器上。CheckNetIsolation.exe实用程序可用于启用它,此处为MSDN文章。只强调测试,你不能发送这样的应用程序。您的身份验证服务器需要在另一台机器上运行,考虑到它在同一台机器上运行时可能会受到损害,这一点非常重要。没有完整的图片,在以UI为中心的应用程序模型(如WinRT)中运行身份验证服务器似乎是一个相当奇怪的设计决策。不能将其视为基于“云”的服务吗?无论如何,我宁愿不必在每台设备上分发该服务器的代码。话虽如此,还是看一下自定义权益合约解决方案。您基本上应该能够将身份验证请求作为DataRequest发送,并让“服务器”以DataResponse响应。code.msdn.com上有两个示例应用程序:我偶然发现的一件事:Windows.Networking.BackgroundTransfer基本上来自这篇文章:在后台传输数据(使用C#/VB/C++的Windows应用程序和XAML商店应用程序)但我不知道其实打通坑文章和后台任务的概念。也许有人可以对此发表评论?我不确定它是否已经得到解答,但我发现这可以使用LaunchFileAsync来完成。示例如下://launchappvarlaunchFileName="june.kit";var文件夹=Windows.Storage.ApplicationData.Current.LocalFolder;varoption=Windows.Storage.CreationCollisionOption.ReplaceExisting;//创建文件varlaunchFile=awaitfolder.CreateFileAsync(启动文件名,选项);//写入内容awaitWindows.Storage.FileIO.WriteTextAsync(launchFile,tempChk);//启动文件boolsuccess=awaitLauncher.LaunchFileAsync(launchFile);其中launchFileName可以有任何扩展名,并且应该在packager.manifest文件中调用应用程序的FileTypeAssociation中提及此扩展名。以上就是《C#学习教程:WinRT中应用程序之间的通信》的全部内容。侵权请点击右侧联系管理员删除。如需转载请注明出处: