我有一个用 `ASP.NET MVC 5 设计的小型内部网络系统。最多 50 个用户。
我正在尝试按照以下方式实现一些东西:
想法是向所有其他用户显示谁当前在线(在网站上登录)。
我将如何在 .net
中实现它。
我有两个问题:
- 了解/管理用户登录状态
- 传输机制/技术
对于问题 1,我查看了 .net
中的 SessionData
属性,我只是不能 100% 确定要使用 MVC 框架中的哪种机制。
我可以使用某种 session 链接变量吗?
对于问题 2,我是否需要每 30 秒触发一个 JavaScript
函数来表示“嘿,我还在这里”,然后将其存储在内存或数据库中并每隔30 秒。
是的,使用 SignalR 非常简单:
ASP.NET SignalR is a new library for ASP.NET developers that makes
developing real-time web functionality easy. SignalR allows
bi-directional communication between server and client. Servers can
now push content to connected clients instantly as it becomes
available. SignalR supports Web Sockets, and falls back to other
compatible techniques for older browsers. SignalR includes APIs for
connection management (for instance, connect and disconnect events),
grouping connections, and authorization.
我自己做的,你可以看看我的网站SignalRTC检查它是如何工作的。