asp.net-mvc - SignalR - 在 Web 应用程序的多个页面之间保持相同的连接

标签 asp.net-mvc signalr

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

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

最佳答案

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

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

  • 希望这可以帮助!

    关于asp.net-mvc - SignalR - 在 Web 应用程序的多个页面之间保持相同的连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13383311/

    相关文章:

    c# - 从 ssl 上的浏览​​器访问在本地主机上运行的 SignalR 应用程序

    signalr - 无法将 DependencyResolver 传递给 HubConfiguration 中的 MapSignalR

    javascript - 如何在javascript中找到部分页面的父页面

    c# - 身份用户的数据库定义 - dbo.AspNetUsers 和 dbo.Users

    asp.net-mvc-3 - 如何从 Controller 外部访问登录用户?

    c# - 为什么内部项目使用 ASP.Net Web Api 而不是 SignalR

    SignalR 1.0 beta 连接工厂

    asp.net-mvc - MVC 3.0缺少编译器所需的错误

    javascript - 如何将内联 Razor 表达式插入 Javascript

    asp.net-mvc - Azure 上的 MVC4 部署问题