c# - 登录时向浏览器中所有打开的客户端发送消息

标签 c# asp.net-mvc

我在 ASP.NET MVC 3 中创建了一个网站。

人们可以向其他人的收件箱发送消息,目前他们获得通知的唯一方式是 a) 登录,b) 刷新并回发 c) 通过邮件。

但是我如何才能向正确的人发送通知(httpcontext.identy.user.name 是唯一的,如果有帮助的话?)并将其发布到他们的屏幕上。

最佳答案

您可以使用 WebSockets 将新消息推送给所有用户,也可以使用 ajax 轮询并定期检查新消息。

最简单的方法是使用 SignalR 来实现它,它使用 WebSockets,如果 WebSockets 不可用则默认为长轮询。

我建议通过 SignalR Getting Started指导。还有一个可通过 Nuget 获得的示例,名为 SignalR.Sample

关于c# - 登录时向浏览器中所有打开的客户端发送消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10122970/

相关文章:

c# - 使用 ClientCert -> 未发送客户端证书时,HttpClient 因 System.ArgumentException 而失败

c# - 下面的语句解释了什么

c# - 使用 Lucene.NET 对 ASP.NET MVC View 的内容建立索引

ASP.NET MVC5 占位符中的字体很棒

c# - 我如何在 wcf 服务中拥有 session ID

c# - 在这种情况下最好的数据库结构是什么?

asp.net - 如何在同一解决方案中运行/调试多个 Web 应用程序项目?

.net - 使用 Google 帐户通过非 Google API 验证 Chrome 扩展

c# - Rhino 使用 FakeItEasy 模拟 'Expect'

javascript - 如何访问正在循环的表的 <td> 元素内的元素?