2

Windows 8 上有两个 WinRT 应用程序(C#/Xaml,如果重要的话)。第一个应用程序应该接收一些数据并将其发送到第二个应用程序。最好的方法是什么?可以使用 WCF 吗?

编辑:第一个应用程序知道第二个。实际上第二个应用程序是一个身份验证服务器,它只提供一种获取令牌的方法。

4

4 回答 4

2

不可能,这需要环回支持。你只能打开测试的东西,你不能在你的用户机器上依赖它。CheckNetIsolation.exe 实用程序可用于启用它,MSDN 文章在这里

只强调测试,你不能发布这样的应用程序。您的身份验证服务器需要在另一台机器上运行。无论如何,考虑到它在同一台机器上运行时会受到影响的可能性,这非常重要。

于 2012-06-22T14:03:13.273 回答
1

没有全貌,让身份验证服务器在以 UI 为中心的应用程序模型(如 WinRT)中运行似乎是一个相当奇怪的设计决定。它不能被认为是基于“云”的服务吗?无论如何,我宁愿这样,不必在每台设备上分发该服务器的代码。

话虽如此,请看一个自定义共享合同解决方案。您基本上应该能够将身份验证请求作为DataRequest发送,并让“服务器”以 DataResponse 响应。

code.msdn.com 上有两个示例应用程序:

于 2012-06-22T13:49:55.683 回答
0

我不确定它是否已被回答,但我发现使用 LaunchFileAsync 可以做到这一点。示例如下: //启动应用程序 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 中提及。

于 2013-03-07T19:02:02.913 回答
0

我偶然发现的一件事是:Windows.Networking.BackgroundTransfer

基本上来自这篇文章:Transferring data in the background (Windows Store apps using C#/VB/C++ and XAML)

但我实际上并没有通过后台任务的洞文章和概念。也许有人可以对此发表评论?

于 2012-10-02T06:38:33.273 回答