我是ASP.NET MVC和SignalR的新手。我已经关注了一些关于MVC和SignalR的教程来捕捉基础。我搜索,阅读和测试,但没有具体到我的问题。因此,我将尝试从第一次清楚地解释一切。我正在尝试使用MVC和SignalR创建一个Web聊天程序。好像我无法理解SignalR和MVC的使用以及会话处理。
我需要关注用户会话并确定用户是否已登录。
将有创建聊天室的功能(仅适用于已登录的用户)。
选项(1)未登录用户:
未登录的用户必须只输入一个名称,然后才能访问某些聊天室。他将无法创建新的聊天室。
选项(2)登录用户:
登录用户可以创建聊天室。并加入任何其他聊天室。
问题:
如何完成新聊天室的创建?
如何检查用户是否已登录?
我认为现在就是这样。如果出现问题我会编辑...
提前感谢所有愿意帮助我的人。
答案 0 :(得分:2)
同时这些问题太多了。我会尝试更具体,否则你会得到模糊的答案。
关于主要问题,您需要了解SignalR authentication and authorization
基本上,您可以将[Authorize]
属性添加到要保护的CreateRoom
等方法中。这些仅适用于登录用户。您不需要处理会话或进行任何检查,SignalR将为您完成。
未标有[Authorize]
的方法是“匿名的”,这意味着任何用户都可以调用它们。
如何加入聊天室?
您可以为每个房间保留一份静态客户列表,并自行管理连接和断开连接。或者更好的是,您可以使用SignalR groups。
有一个名为Jabbr.net的真棒(和高级)工作聊天应用程序,它是用SignalR制作的。你可以抓住source code并找到那里的所有答案
答案 1 :(得分:1)
我想你可能错过了某种方式来理解SignalR的概念和功能。 因此,您需要再次检查 SignalR ,因为它基本上用于在.NET中创建聊天应用程序。
您可以通过互联网搜索的内容包括: *使用SignalR创建聊天应用程序。 *使用SignalR创建与群组的聊天。
群组将帮助您管理授权用户和未授权用户聊天。
因此,这些搜索将为您提供所有问题和理解的最佳选择。