【问题标题】:updating inbox new message count更新收件箱新邮件计数
【发布时间】:2012-03-30 15:26:03
【问题描述】:

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

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

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

我应该使用某种 ajax 和 web 服务的组合吗?还有什么?谢谢!

【问题讨论】:

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


    【解决方案1】:

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

    【讨论】:

    • 只是为了澄清在此上下文中的 Web 服务并不明确表示 .net soap Web 服务。您可以让您的 ajax 方法调用soap web 服务、页面方法、mvc 控制器操作、wcf 服务方法,可能还有其他 api。
    【解决方案2】:

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

    信号R: https://github.com/SignalR/SignalR

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

    【讨论】:

    • 正如我在问题中所说,我不想使用预制的东西。但是,希望遇到此问题的人会发现您的建议很有用
    猜你喜欢
    • 2011-02-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-24
    • 2011-10-11
    相关资源
    最近更新 更多