2013-02-01 134 views
2

我想创建一个WinRT应用程序来处理来自本地/无线网络中电话的请求。举例来说,我在手机中已经有一个鼠标应用程序(类似于this)。我想编写服务器应用程序,该应用程序位于处理手机中鼠标应用程序请求的PC /平板电脑上。因此,无论何时我在手机中打开鼠标应用程序,我都可以发送推送通知,以便使服务器(win 8应用程序)能够处理来自手机应用程序的所有后续请求。它可行吗?WinRT - 是否可以创建服务?

通常情况下,我会为此创建一个Windows服务,但想检查它是否可以在WinRT中使用。

+0

WinRT是一个UI概念;与任何UI应用程序一样,它必须手动运行并持续运行以响应此类通知。 WinRT应用程序在进程间通信方面的功能有限。根据您所描述的内容,“Classic”Windows服务似乎更合适。 –

回答

0

我自己没有测试过,但我会说这是可能的。但只要你的应用程序在前台运行。如果您切换到其他应用程序,您的应用程序无法再进行通信,因为应用程序已被暂停。

虽然你可以看看Windows应用程序商店中的“时间”。这是一个每秒钟刷新应用程序瓦片的时钟(以及作者博客)。

要连接到您的应用程序,我将测试signalR,听说这件事的好东西:-)

+0

对不起,我应该在问题中更加清楚。问题是WinRT应用程序可能不在前台。它甚至可能没有运行。所以这个想法是从手机上的鼠标应用程序,我可以做一个推送通知,应该让winRT应用程序打开并处理所有后续请求在“后台”(例如,当用户正在观看电影并想要使用鼠标应用程序,winRT应用程序不应该来到前台)。那么我们可以在WinRT中做到这一点吗? – Jonna

+0

这是不可能的。你可以通过推送来通知你的应用程序,但你必须手动打开它。 – jwillmer

0

是的,你可以使用StreamSocketListener类,但jwillmer说,大概只有只要你的应用程序运行前景。

+0

对不起,我应该在问题中更加清楚。问题是WinRT应用程序可能不在前台。它甚至可能没有运行。所以这个想法是从手机上的鼠标应用程序,我可以做一个推送通知,应该让winRT应用程序打开并处理所有后续请求在“后台”(例如,当用户正在观看电影并想要使用鼠标应用程序,winRT应用程序不应该来到前台)。那么我们可以在WinRT中做到这一点吗? – Jonna

4

我想说你最好的选择是ControlChannelTrigger。我自己并没有使用它,但是基于它的描述,它被设计用来启用你的场景。

允许在Windows.Networking.Sockets命名空间和其他网络传输中的类元素的后台接收实时通知。

相关问题