我的项目是托管在 Azure 环境中的 ASP.NET MVC3 应用程序。我想在不重新加载页面的情况下为用户显示新消息。我可以使用 Javascript 定期进行轮询并从服务器提取消息,但我的客户担心如果 10000 个用户每隔一段时间进行轮询,这会使他们的服务器变慢。
我曾想过(没有过多考虑)使用 Microsoft 推送通知服务,但我认为它只能与 windows phone 一起使用。
有什么办法可以推送消息吗?
选项是:
您可能希望在您的应用程序中使用 SignalR。您可以将其作为 Nuget 包获取:
安装包 SignalR
SignalR的定义:将数据从服务器推送到客户端(不仅仅是浏览器客户端)一直是一个棘手的问题。SignalR 让它变得非常容易,并为您处理所有繁重的工作。
别的东西:你在 Windows Azure 上。如果需要,您可以随时扩展/扩展。使用 Windows Azure 网站时,新的预览门户让这一切变得非常简单。
我在 Pubnub 上取得了很大的成功:http ://www.pubnub.com/
您可以轻松地将消息推送到基于 javascript 或 c# 的客户端。他们有一个慷慨的免费帐户可供试用。与 SignalR 相比,水平设置和扩展的工作量要少得多。