更新收件箱新邮件计数

时间:2012-03-30 15:26:03

标签: c# asp.net ajax web-services

对于我的一个项目,我需要创建一种内部电子邮件系统。在页面顶部的导航菜单中,我有一个指向收件箱的链接,该链接还包含未读邮件的数量。

目前,如果您收到新消息,则在刷新页面之前,导航中的未读消息计数不会更新。这需要改为,以便每隔几秒就自动更新一次。

我不想使用预制的东西,我想自己创建解决方案,但我只需要朝着正确的方向努力。

我应该使用某种ajax和webservices的组合吗?别的什么?谢谢!

2 个答案:

答案 0 :(得分:1)

是的,您需要结合使用ajax和Web服务。创建一个每隔几秒触发一次的ajax方法,然后点击一个Web服务端点,该端点返回收件箱中未读消息的数量。然后让ajax返回方法使用服务器的结果更新未读消息计数。

答案 1 :(得分:1)

我建议您查看SignalR。它是一个免费提供的库,允许JavaScript通过在客户端和服务器之间保持连接活动来与C#“通信”,反之亦然。它本质上意味着,当某人发送消息时,您触发一个事件,然后可能将“推送”通知给客户端,然后客户端检查他们是否有任何消息和魔法,他们这样做!它非常时髦,易于设置; 但只是意识到同时连接大量用户的潜在开销。 :)

SignalR: https://github.com/SignalR/SignalR

教程: http://www.hanselman.com/blog/AsynchronousScalableWebApplicationsWithRealtimePersistentLongrunningConnectionsWithSignalR.aspx