Firefox 中的 Signalr 连接意外中止

2024-05-26

我正在使用 SignalR(具有跨域请求)2.3.0 版,用于集成到 ASP.NET 站点的网络聊天。一切正常。但我发现 SignalR 连接的奇怪行为。当我单击聊天选项卡中的引用进行文件下载时,SignalR 连接被中止,并且在我的 Hub 类中触发了 onDisconnected 方法。 FireBug 显示下一个 POST 请求:

http://*:81/signalr/abort?transport=longPolling&clientProtocol=1.4&token=eUpLNitKcmR1d2JhTTRvcHNVZmEwcG1EKzYvMElZbmg4aE5yam9xM3k0dz0_IjAsNGJmOWNhODUtNDU2NS00NWExLWFjMTgtNzgyN2FhZDA2Nj g1LGxvY2FsaG9zdCI1&State=1&connectionToken=hDXe9xIZtmrapjl1LRwtK9B%2BfYMoeuHka8ctBLaPa0YnjiN9iiFa%2BvFMBHIGpGH0h8qPEDgGZSRGwjMw3Wm1DJi6cUPtZjLca6%2FR2576SGksLAj3lnPN1JWilx Msn8%2Bf&connectionData=%5B%7B%22name%22%3A%22c%22%7D% 2C%7B%22name%22%3A%22voip%22%7D%5D,其中 * 是我的域。

它在 Mozilla Firefox(版本 30.0)中复制用于 LongPolling 或 Websocket 传输。我该如何解决这个问题?或者是 SignalR 或 Firefox 的 bug?


This bug https://github.com/SignalR/SignalR/issues/3109最近在 GitHub 上针对 SignalR 提起诉讼。基本思想是下载文件会导致 Firefox 触发window.onbeforeunload事件会导致 SignalR 关闭所有正在进行的连接。

目前,解决方法是将一个处理程序附加到客户端的断开连接事件,该事件将调用$.connection.start短暂之后再次window.setTimeout.

您还可以取消绑定 SignalR 的 onbeforeunload 处理程序:$(window).unbind("beforeunload")。这样做的缺点是,当用户离开运行 SignalR 的页面时,Firefox 可能无法正常断开连接。如果没有正常断开连接,SignalR 将等待 30 秒以上,然后客户端才会超时并调用OnDisconnected处理程序在Hub or PersistentConnection.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Firefox 中的 Signalr 连接意外中止 的相关文章

随机推荐

  • IOS:init(CGImage) 的使用不明确

    我正在尝试转换CGImage into a CIImage 但是 它不起作用 这行代码 let personciImage CIImage CGImage imageView image CGImage 抛出以下错误 init CGImag
  • 使用 simple_form Rails 时测试 HTML 5 表单验证

    我正在为我的待办事项列表应用程序使用 devise 和 simple form 现在 我的 users edit html erb 有以下代码 h2 Edit profile h2 我的 user rb 看起来像这样 class User
  • 在Java中从控制台打开包中的类

    因此 当我尝试从命令提示符打开一个不在包中的 java 类时 一切正常 但是当我尝试打开一个包中的类时 它会给我 NoClassDefFoundError 错误 当我尝试打开类 java somepackage someclass 时列出包
  • ASPXAUTH Cookie 的安全标志

    我们有一个面向外部的应用程序 由外部安全公司进行了渗透测试 应用程序在 ASP NET MVC4 上开发并在 IIS8 Windows 2012 Server 上运行 报告的漏洞之一是 ASPXAUTH 不安全 当我检查 cookie 检查
  • Python 2.7 中四舍五入到小数点后两位?

    使用Python 2 7如何将我的数字四舍五入到小数点后两位而不是它给出的10位左右 print financial return of outcome 1 str out1 使用内置函数round https docs python or
  • 有没有办法在 NodeJS 中生成受密码保护的 XLSX?

    我正在寻找 npm 包或任何其他解决方法 以便能够生成带有密码的 xlsx 文件 我不想保护工作表或单元格 我希望整个文件受到密码保护 我发现了一些非常好的软件包 excel4node exceljs 但它们都无法满足我的需要 任何建议表示
  • Git 存储库错误并显示消息,它不是存储库...但它是

    我有一个 git repo 去年我一直在同一个盒子上使用 今天我跑步git status并得到错误消息 fatal Not a git repository or any parent up to mount parent home Sto
  • Android上如何动态添加LinearLayout?

    我有一个长度为 n 的数组 现在需要创建 n 个 LinearLayout 并在每个上添加不同的内容 怎样才能动态地完成呢 LinearLayout lLayout new LinearLayout context parentWidget
  • 将表列添加到 Group by 子句 - Ruby on Rails - Postgresql

    我正在尝试使用 Heroku 显然 Postgresql 对于聚合函数来说比 SQL 严格得多 当我推送到 Heroku 时 我收到一条错误消息 内容如下 关于另一个问题 https stackoverflow com questions
  • Sencha Touch Uncaught typeError:未定义不是函数

    我最近开始检查 Sencha Touch 在遵循教程时 我遇到了一些我似乎无法解决的问题 sencha 提供的 app js 中的一些基本代码运行良好 其他人似乎会出错 例如 new Ext application name NotesAp
  • 在最后一个 EditText 处按键盘上的“完成”后隐式“提交”

    我使用过一些应用程序 当我填写用户名 然后转到密码时 如果我在键盘上点击 完成 则会自动提交登录表单 而无需单击提交按钮 这是怎么做到的 尝试这个 在您的布局中放置 编辑以下内容
  • 在 Python 中绘制 3d 数组最有效的方法是什么?

    在 Python 中绘制 3d 数组最有效的方法是什么 例如 volume np random rand 512 512 512 其中数组项表示每个像素的灰度颜色 下面的代码运行速度太慢 import matplotlib as mpl f
  • Invoke-WebRequest SSL 失败?

    当我尝试使用时Invoke WebRequest我收到一些奇怪的错误 Invoke WebRequest Uri https idp safenames com Invoke WebRequest The underlying connec
  • B2C 公司品牌并不适用于所有政策

    我上传了一个sign in page background image但这仅适用于我的Edit Policy 它不应该适用于所有政策 吗 适用于编辑策略 不执行我的注册政策 假设我没有分配自定义页面 URI 只有登录策略和个人资料编辑策略的
  • 在 Plone 上使用 Dexterity 按文件类型或 mimetype 限制上传

    我有一个灵活构建的自定义内容类型 在架构中 架构如下所列 我使用 plone namedfile field NamedFile 用于附件 上传 我想限制上传 以便只有 mp3 文件可以附加到我的内容类型 实现这一目标的最佳方法是什么 这是
  • 使用 SASS(从命令行)和 Autoprefixer(对于 Bootstrap 4.x)

    我最近开始使用scss文件 尤其是自定义文件引导程序 为了编译我的 scss 文件 以及引导程序 我使用sass https sass lang com 从命令行 例子 sass path to scss bootstrap mycusto
  • 防止具有无效 Authenticode 签名的可执行文件运行

    我们在单个可执行文件中发布了软件包的更新补丁 该文件使用颁发给我们的证书使用 Authenticode 数字签名进行签名 该文件被下载到我们的客户操作的 Windows XP 或 Vista 系统中 他们在其中运行该文件以更新我们的软件 我
  • 使用 GcmListenerService 的多个 GCM 侦听器

    Google 建议使用 GcmListenerService 代替 GcmBroadcastReceiver 我正在制作一个使用 GCM 的库项目 com android library 插件 当应用程序项目 com android app
  • 如何自动将图表从 Excel(或 Calc)导出为 PNG

    问题 我正在开发一个 Web 应用程序 它将数据从数据库导出到 Excel 包括图表 这首先是导出的主要原因 现在我希望图表在网页上也可见 而不需要导出数据并打开下载的 Excel 文件 这当然可以使用 JS 库来完成 但是由于图表相当复杂
  • Firefox 中的 Signalr 连接意外中止

    我正在使用 SignalR 具有跨域请求 2 3 0 版 用于集成到 ASP NET 站点的网络聊天 一切正常 但我发现 SignalR 连接的奇怪行为 当我单击聊天选项卡中的引用进行文件下载时 SignalR 连接被中止 并且在我的 Hu