4

我想提供一种用户体验,在我的 ASP.NET MVC 应用程序的多个页面中可以使用 SignalR 连接。

如果我在我的 _Layout.cshtml 中包含 SignalR 启动代码 (JS),每次用户导航到不同的页面时,服务器是否会将其视为“新”客户端连接?或者 SignalR 是否会开箱即用地支持这种行为?

4

1 回答 1

5

每个页面都表示为一个“客户端”,因此每个页面都有一个唯一的连接(无法绕过)。此问题的替代方案是:

  1. 动态加载页面并将其显示在当前页面上。基本上只有一个物理页面。
  2. 将用户状态保存在 cookie 或会话中,当您开始新连接时,用您保存的状态填充它。警惕这种方法的安全问题。

希望这可以帮助!

于 2012-11-14T17:58:30.683 回答