C# WCF REST服务和Windows Phone应用程序之间的消息传递

C# WCF REST服务和Windows Phone应用程序之间的消息传递,c#,wcf,rest,session,windows-phone,C#,Wcf,Rest,Session,Windows Phone,我想为Windows Phone 8.1实现一些类似instant messenger的应用程序,我有一个连接到MySQL数据库的WCF REST服务,我知道SQL Server会更好,但租用MySQL服务器更便宜…:D、 哪些存储用户等 我知道REST是无状态的,但我想实现一些类似会话的方法,使我的web服务能够通过服务将传入的消息传递给收件人,立即向web服务发送消息/请求不是问题 所以我的问题是,你会推荐什么技术/解决方案让我这样做 我的基本概念是: 来自WP的用户注册-服务将数据保存到d

我想为Windows Phone 8.1实现一些类似instant messenger的应用程序,我有一个连接到MySQL数据库的WCF REST服务,我知道SQL Server会更好,但租用MySQL服务器更便宜…:D、 哪些存储用户等

我知道REST是无状态的,但我想实现一些类似会话的方法,使我的web服务能够通过服务将传入的消息传递给收件人,立即向web服务发送消息/请求不是问题

所以我的问题是,你会推荐什么技术/解决方案让我这样做

我的基本概念是:

来自WP的用户注册-服务将数据保存到db 用户从WP登录-我需要一些类似会话的数据,以便让服务器知道它应该在哪里传递消息,例如用户的guid、ip地址或其他信息,这些信息表示尽管应用程序挂起并在后台运行,但用户仍然在线,并且仍然能够接收消息 用户从WP向rest服务发送一条消息,该消息应包含关于发送方的数据,至少包含用户的guid,但不希望在客户端存储太多关于用户、接收方、内容、时间戳、,例如,使用uri模板发送http请求:message/send,请求正文中有收件人的id、内容等 用户添加联系人 WCF服务接收请求,对其进行处理,通过其guid标识发送给收件人,然后出现问题,应该了解设备、ip地址或会话之类的信息 收件人收到消息。 我希望我能恰当地描述我的问题,并且会有任何人能帮助我^^

我将感谢任何帮助


提前谢谢

有几种方法可以奏效

使用Microsoft的推送通知服务MPNS。这是最省电的方式,您的用户甚至可以在应用程序未运行时接收消息

使用Microsoft的Windows通知服务WNS。它只在WP 8.1上受支持,但是延迟要好得多,因为他们承诺交付时间在5秒内

或者,您可以使用一些双向协议。选择:

WCF服务器+网络tcp传输:在客户端上,您必须自己实现绑定+框架+SOAP,更高级别的协议二进制XML序列化在框架中。 TCP上的Google协议缓冲区 WebSocket:MS支持8.1 SDK,第三方可用于WP Silverlight 信号员:第三方实施可用
谢谢你,我已经找到了一些出发点,这对我来说是可行的,只是我忘了写在这里。我认为Microsoft Azure通知中心将适合解决此问题。