Web应用程序充当处理来自iPhone的请求的后端。要在处理请求时从Web应用程序向iPhone发送消息(例如,用于付款),我想在服务器上发生有趣的事情时向iPhone发送消息,或者如果一切都成功,则向他们发送交易详细信息。使用PushSharp或SignalR哪一个更好?它们是否都服务于同一目的?无论哪种方式,在这个主题上启发我。这对我来说很困惑。
答案 0 :(得分:8)
SignalR是向Web客户端发送实时信息的好方法,主要是向客户端提供服务器端代码推送信息,并实时调用客户端代码(即javascript)。
PushSharp是向本机移动应用发送推送通知的绝佳方式。对于iOS,这意味着使用Apple的基础架构。这也意味着该消息将在iPhone中显示为通知,而不仅仅是在浏览器内。
基本上,如果您提到的iPhone请求来自本机应用,请尝试PushSharp。如果它是在浏览器中运行的Web应用程序,请使用SignalR。
答案 1 :(得分:1)
PushSharp似乎利用每个平台的本机消息传递。 Azure通知中心提供类似于PushSharp似乎要做的本机消息传递。本机消息传递平台可以很好地扩展,但是不能让您直接访问客户端/服务器代码,并且消息可以在某些情况下延迟最多几分钟。当您想要向数百万台设备发送消息时,这样的消息传递非常有效。例如:所有想要在他们最喜欢的运动队赢得比赛时发出警报的用户 - 对时间不敏感。
如果您希望推送消息严格地位于服务器端代码和客户端代码之间,那么SignalR可以实现这一点。 SignalR也有.Net实现,因此它不仅适用于javascript /网页。 SignalR将利用诸如网络套接字/长轮询等方法。如果您要发送响应以告知您的客户端查询已完成,或者收到了消息,那么该消息到达并不会有帮助几分钟后...... SignalR可能是一种更好的方法。