【发布时间】:2016-08-09 20:23:51
【问题描述】:
我目前正在使用 SignalR 开发一个实时聊天应用程序。实时聊天应用的工作原理如下:
- 注册用户只能与管理员交谈。那里 可以同时连接任意数量的管理员。
- 每位管理员都可以随时与任何注册用户(即使是离线用户)交谈。
- 聊天应用程序的用户端和管理员端位于两个不同的 ASP.NET MVC 应用程序中,共享同一个数据库。 (这是用户要求)
- 所有消息在发送后立即存储在数据库中。
目前,我有两个应用程序调用 SignalR 服务器函数,该函数使用 setInterval() 从数据库中获取数据来更新客户端,但这违背了使用 SignalR 的全部意义。有没有办法在服务器端使用后台任务轮询数据库,然后使用 SignalR 通知特定用户(接收消息的用户)?如果是,我该如何设置后台任务?
【问题讨论】:
-
tbh,这种设计超越了实时聊天的全部目的,它让您的应用程序更加复杂而没有任何收获
-
你的数据库是什么?如果是 MSSQL,那么你需要
SQL Dependency
标签: asp.net-mvc-4 signalr