首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在asp.net MVC中调用弹出作为提醒

问在asp.net MVC中调用弹出作为提醒
EN

Stack Overflow用户
提问于 2013-10-08 15:16:30
回答 3查看 2.8K关注 0票数 1

我有一个功能,在创建约会时,我需要在时间间隔设置之前提醒客户他们的约会。

示例

一个客户今天在4:00 is 登录到系统中。

如果客户今天下午5点预约,提醒时间为10分钟。

这会调用一个弹出的声音,它必须在今天下午4:50出现(也就是说,在实际预约开始前10分钟)。

我有所有的约会开始时间,结束时间,(连同日期)存储在后端表中的客户数量。

请指导我实时完成以下内容:

(1)在下午4时50分调用这个弹出窗口

(2)播放存储在数据库中的声音文件。

从我的搜索来看,有一种方法可以使用mvc中的signalr概念来实现。我查看了这个lnk中聊天应用程序的示例。http://www.asp.net/signalr/overview/getting-started/tutorial-getting-started-with-signalr

这会在发生事件时调用集线器。但在我的应用程序中,如果启动时间与当前时间匹配,则它必须作为一个提示来显示弹出窗口。如何实时获取这些信息。任何想法都能帮到我。

EN

回答 3

Stack Overflow用户

发布于 2013-10-08 15:30:33

使用WebSockets可能是一个很好的情况。(看看Socket.IO,它是.NET版本的SocketIO4Net)

这样做的想法是有一个业务逻辑服务器端来管理客户需要提醒的约会。然后利用WebSocket发送提醒信号。如果客户登录,js客户端将捕获信号,您将决定如何显示它。

要播放存储在数据库中的声音,可以在操作服务器端返回声音文件或其他内容,然后使用HTML 5标记来播放声音。

希望这能有所帮助。

票数 1
EN

Stack Overflow用户

发布于 2013-10-08 15:38:44

您可以更改方法,并使用一个emailing/sms'ing (用户)来提醒他们约会,这意味着用户不需要登录到web应用程序中来接收提醒。

如果您想要使用诸如SignalR这样的技术,您需要保存连接用户的记录(以及他们的用户名),然后当约会到期时,您将需要根据唯一的connectionId触发一个事件发送给有关用户。

SignalR,开箱即用,不是这样工作的--但是,看看我这里的问题,得到一些帮助:手动更新DB时使用SignalR和Knockout更新UI

编辑:为了增加这个功能,如果您正在寻找一个非常好的通知插件,那么请看一下约翰·帕帕的ToastR,它是一个小的JS/Css插件,它通过“时间,outlook样式的通知”通知。

票数 1
EN

Stack Overflow用户

发布于 2013-10-09 09:40:19

所有的事情都可以做,但正如ChristianDev所说,SignalR不会像这样开箱即用……我想你可以用SignalR来做这件事,但是你有一些挑战.

  1. 您必须维护服务器上的状态,以便与客户约会。
  2. 当客户端在页面之间导航时,这种状态在连接之间必须是持久的。
  3. 当事件触发时,您必须将消息发送到正确的客户端。
  4. 如果该客户端目前处于页面之间(脱机),则必须存储该消息,直到该客户端恢复联机,然后发送给他/她。

编辑:编写一个简单的通知应用程序似乎是件有趣的事情。您可能很容易将它移植到SignalR。实时通知样本

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19251699

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档