如何关联App Store应用程序和桌面应用程序

时间:2013-02-14 21:06:45

标签: windows winapi windows-8 windows-runtime windows-store-apps

我正在开发一款适用于Windows 8的产品,它需要执行一些低级任务,显示一些UI,并与外部服务器通信。我绝对需要一个Windows服务来完成低级任务。同时,我想使用Windows App Store应用程序的酷炫功能,如推送通知,动态磁贴等......用于UI。在此设计中,我的服务和我的应用程序都将与我的外部服务器进行通信。

流程类似于:我的Windows服务将一些信息发送到我的服务器,然后服务器向我的App Store应用程序发送推送通知。

我知道在这种情况下部署并不是很好,但是现在让我们把它放在一边。我的问题:服务器如何知道服务和应用程序在同一台机器上,并因此链接在一起?即当我的Windows服务向服务器发送信息时,服务器如何知道发送推送通知的位置?我需要的是某种共享的,独特的识别信息。

我看到很多关于App Store应用程序和桌面应用程序之间缺乏进程间通信的讨论(通常很沮丧)。就我而言,我有两个选择:

  1. 在服务和应用中生成完全相同的唯一标识符。这似乎不太可能,因为应用程序似乎无法访问非常多的系统特定信息。我很想证明我错了。

  2. 在服务器或应用程序中生成唯一标识符,并将其传递给其他组件。可能的方法:

    • 在应用中创建标识符,将其保存到文件中,然后从服务中访问该文件。
    • 某种本地套接字解决方案(我读过这个不行,但还没试过)
  3. 当然,选项2似乎可能违反了Windows 8应用Certification Requirements,特别是:

      

    Windows应用商店应用不得与本地桌面通信   通过本地机制的应用程序或服务,包括通过文件和   注册表项。

    任何建议都会受到最高的赞赏。

1 个答案:

答案 0 :(得分:0)

我不是律师,但如果它说“通过本地机制”,那么你仍然可以通过云服务进行沟通,只要安装了这两个应用程序就不需要在应用程序中拥有某些功能,或者如果你并不意味着在商店中发布应用程序。

您可以在文档文件夹中保存某种令牌,或者如果您的桌面应用程序可以使用适当的权限运行 - 它可以访问Windows应用商店应用的本地数据文件夹,以同步令牌以用于与Web服务进行通信

也许可能会要求用户在两个应用程序之间复制和粘贴令牌?