检测 SignalR Hub 客户端立即断开连接

2024-06-19

SignalR Hub OnDisconnected 何时在服务器端引发,对于崩溃或关闭而不调用Stop method?

我正在使用 SignalR .NET 客户端进行测试,而不是 javascript 客户端。 如果我打电话给Stop客户端上的方法,集线器将引发断开连接时立即方法。

但是如果我关闭客户端或终止进程,集线器将引发断开连接时方法仅在大约 10 秒后完成。

如何即时检测到客户端断线?


阅读了文档后SignalR 事件在这里 http://www.asp.net/signalr/overview/hubs-api/handling-connection-lifetime-events,我发现了这个部分:

当连接处于非活动状态时,服务器会定期发送 keepalive 数据包发送给客户端。截至本文发表之日 写入,默认频率是每10秒一次

有一节描述了如何更改保活设置,例如

protected void Application_Start(object sender, EventArgs e)
{
    // Make long polling connections wait a maximum of 110 seconds for a
    // response. When that time expires, trigger a timeout command and
    // make the client reconnect.
    GlobalHost.Configuration.ConnectionTimeout = TimeSpan.FromSeconds(110);

    // Wait a maximum of 30 seconds after a transport connection is lost
    // before raising the Disconnected event to terminate the SignalR connection.
    GlobalHost.Configuration.DisconnectTimeout = TimeSpan.FromSeconds(30);

    // For transports other than long polling, send a keepalive packet every
    // 10 seconds. 
    // This value must be no more than 1/3 of the DisconnectTimeout value.
    GlobalHost.Configuration.KeepAlive = TimeSpan.FromSeconds(10);

    RouteTable.Routes.MapHubs();
}

因此,您可以考虑降低该值,以便在客户端连接断开时更快地收到通知。

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

检测 SignalR Hub 客户端立即断开连接 的相关文章

  • 我的 System.Numerics 命名空间在哪里?

    我正在使用 Visual Studio 2010 并尝试使用BigInteger输入 C 程序 这种类型应该可以在System Numerics命名空间 但我似乎没有在 Net 4 0 框架中安装它 当我输入 using System Nu
  • F# 中灵活类型注释的用途是什么?

    我正在学习 F 我不明白灵活类型的目的 或者更好的是 我无法理解这样写的区别 set TextOfControl c Control s c Text lt s 并写下 set TextOfControl c T when T gt Con
  • 使用 RavenDB 和 LINQ 查找至少包含子集中一个元素的对象

    我有简单类型Question public class Question public Question string id Id id Tags new List
  • WPF 在 .NET Framework 4.0 中的 x64 上启动缓慢

    我注意到 如果我为任何 CPU x64 构建 WPF 应用程序 则与在 x86 上启动 在发布和调试模式下 相比 启动 大约 20 秒 或加载新控件所需的时间要长得多 VS 的内部或外部 即使是最简单的 WPF 应用程序也会出现这种情况 该
  • 如何获取已打开连接的套接字 ID/句柄/描述符? (.NET、C++、德尔福)

    我的问题已在标题中说明 我到底该怎么做呢 我有一个开放的连接 我想 劫持 它并通过它发送我的自定义消息 据我了解 这是通过套接字及其处理程序完成的 任何语言都可以 但首选 C NET 谢谢 UPDATE 我到底想要实现什么 我想为 post
  • 在 WebAPI OData 请求中包含相关实体

    有没有办法在 OData 请求中包含相关实体 例如 我有一个 Person 实体和一个 Task 实体 这种关系是一对多的 一个人有很多任务 如果我使用 OData 请求查询数据 odata Person 要获取所有 Person 实体 返
  • C# 中如何比较字符串和枚举

    string strName John public enum Name John Peter private void DoSomething string myname case1 if myname Equals Name John
  • 无法将 [] 索引应用于“System.Collections.Specialized.NameValueCollection”类型的表达式

    我已经尝试了一切方法来访问 AppSettings 但无法使其正常工作 我有一个需要访问网络 AppSettings 的类库 我查过了 没有 System Collections Specialized NameValueCollectio
  • git 中的 web.config 和 app.config 机器特定设置

    我们在不同的办公室有多个开发团队 他们需要为我们项目中的许多配置设置使用不同的值web config and app config files 我们希望使用一组合理的默认值来检查这些配置文件 这样通过检查 trunk master 分支 您
  • 如何使用 Rx 以非阻塞方式观察值?

    我试图在计时器上观察其处理程序比间隔长 为了做到这一点 我想安排对某种线程池 任务池或其他东西的观察 我尝试了线程池 任务池和newthread 但没有一个起作用 有谁知道该怎么做 例子 var disposable Observable
  • 递归分层父子

    我有一个来自数据库的项目集合 该数据库具有parentid值或空 这是我的班级设计 public class Item public int id get set public string Name get set public int
  • 在 C#/VB.NET 或 C++ Win32 中启用/禁用 Aero

    如何在 C NET 或 C Win32 中禁用航空效果 这是我在 C C 中的测试代码 但仅在我的应用程序运行时才有效 include
  • DotNetOpenId —“此消息已被处理”错误(第 2 部分)

    这已经被问过Here https stackoverflow com questions 727838 dotnetopenid this message has already been processed error 但不是我做的 OP
  • 捕获非特定异常(例如 System.Exception)是一种不好的做法吗?为什么?

    我目前正在进行代码审查 下面的代码让我跳了起来 我发现这段代码存在多个问题 你是否同意我的观点 如果是这样 我该如何向我的同事解释这是错误的 顽固型 捕获一般异常 Exception ex 使用 if ex 是某物 而不是另一个 catch
  • 启用 useLegacyV2RuntimeActivationPolicy 的影响?

    对于我当前的项目 我们使用一些基于 CLR 2 的混合模式程序集 为了在 NET 4 目标程序集中使用这些 我知道您必须添加useLegacyV2RuntimeActivationPolicy true to the
  • 检查输出是否重定向

    我有一个用 C 编写的控制台应用程序 它处理一些数据然后打印结果 在结果可用之前 会有一个小动画 和不断更新的进度百分比 xx 显然 如果用户重定向我的应用程序的输出 这将被打印到输出重定向到的文本文件中 如果可能的话我想避免这种情况 那么
  • iOS 应用程序和.NET 应用程序之间的通信?

    我有 2 个应用程序 一个是 iOS 应用程序 一个是 NET 应用程序 我希望我的 iOS 应用程序发送一条消息 调用 NET 应用程序的方法 将一些字符串发送到 NET 应用程序以保存到数据库 那么 我的 iOS 应用程序如何与 NET
  • 部署.Net应用程序

    我在部署 net windows 应用程序时确实有某些疑问 部署机器是否需要安装 Net框架 如果不是这样 我的应用程序安装程序 exe 是否包含编译器或类库与设置集成 另外 我可以将我的 net 应用程序部署在除windows 是否支持s
  • 从 Windows 选择声音并播放它们

    我有一个 WinForms 应用程序 该应用程序有一个 首选项 部分 用户可以在其中选择显示警报时播放哪些声音 是否可以有一个组合框 用户可以从 Windows 存储的声音中进行选择 例如 紧急停止 紧急蜂鸣 等 这些可以在 控制面板 gt
  • 类型与创建 CLR 存储过程不匹配

    我在程序集中有一个如下所示的方法 namespace MyNameSpace public class MyClass Microsoft SqlServer Server SqlProcedure public static void M

随机推荐

  • 是否有任何不使用公共虚拟方法的正当理由? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 是否有任何不使用公共虚拟方法的正当理由 我在某处读到我们应该避免使用公共虚拟方法 但我想向专家确认这是否是有效的声明 对于良好且稳定的 API
  • 从网络中的另一台计算机访问本地GAE SDK服务器

    我有开发服务器 来自 google appengine sdk 在我的 Ubuntu 计算机上运行 我可以通过导航到 localhost 8080 来访问我的网站 我想从网络中的另一台计算机 装有 Vista 操作系统 访问该站点 ifco
  • Teradata:如何使用查询获取服务器名称

    如何在 Teradata 中使用查询获取服务器名称 也就是说 如果我在 开发 服务器上编写查询 它应该返回开发服务器名称 例如 在 Sybase 中 我们将使用 select servername TD 中没有像 servername 这样
  • Integer.parseInt 引发的 NumberFormatException

    嘿 我在学校上编码课 但老师没有很好地解释 所以我们必须在网上查找我所做的信息 但我无法找到代码中的错误 你能帮我吗 char end s do System out println Tipo de boleto char boleto c
  • 将一个 long 转换为两个 int 以进行重构

    我需要将一个参数作为两个 int 参数传递给 Telerik Report 因为它不能接受长参数 将 long 拆分为两个 int 并在不丢失数据的情况下重建它的最简单方法是什么 使用掩蔽和移位是最好的选择 根据文档 long 保证为 64
  • 在多个网页(.cshtml 文件)中使用 Razor @functions

    我有以下功能 我希望可用于我的 asp net 网页 2 应用程序中的多个 cshtml 视图 如何使该功能可用于应用程序中的任何视图 而不是仅一个视图 functions public bool DisplayButton String
  • 您的backbone.js 项目的最佳实践是什么?

    尽管我已经关注backbone js 几个月了 并且学习了大量教程 但我仍然对在更大的项目中使用backbone 或我的相关技能 没有足够的信心 我的经验是 backbone js 教程的质量差异很大 有些已经过时了 尤其是backbone
  • ClickHouse新手,无法创建本地主机

    我是 clickhouse 的新手 正在尝试开始 我已经安装了能够在我的计算机 ubuntu 16 04 上使用它所需的所有软件包 但是当我使用 clickhouse client 命令时 我得到以下信息 ClickHouse client
  • 使用 NSString 进行 UTF8 解码

    我是 Objective C 新手 尝试使用以下示例将格式错误的 UTF8 编码 NSString 转换为格式良好的字符串苹果文档 http developer apple com library mac documentation Coc
  • 向特定客户端发送消息以及消息发送用户

    我是 SignalR 的初学者 我创建了一个基于 SignalR 的基本聊天应用程序 我面临的问题是我想向特定客户端以及发送消息的用户发送消息 这个怎么做 我知道要向特定客户端发送消息 我们可以这样做 Clients Client Cont
  • 关于 scala.math.Integral 的问题

    有什么方法mkNumericOps andmkOrderingOps of scala math Integral http www scala lang org api current scala math Integral html我们
  • 为什么 C# 接口名称前面加上“I”

    这种命名约定背后的基本原理是什么 我没有看到任何好处 额外的前缀只会污染 API 我的想法与康拉德一致response https stackoverflow com a 222502 9898与此相关的question https sta
  • 如何强制执行特定的 UserControl 设计

    我正在编写一个基本用户控件 它将由一堆其他用户控件继承 我需要对所有这些后代控件强制执行某种设计 例如 顶部必须有几个按钮以及一个或两个标签 后代用户控件区域的其余部分可以自由放置任何内容 最初 我认为我可以将一个面板放到 Base Use
  • 如何在java 1.8中从org.jboss.jca.adapters.jdbc.jdk8.WrappedConnectionJDK8转换为oracle.jdbc.OracleConnection

    如何在 java 1 8 中从 org jboss jca adapters jdbc jdk8 WrappedConnectionJDK8 转换为 oracle jdbc OracleConnection 目前我正在这样使用并得到以下异常
  • 两种颜色边框

    客户想要两种颜色的边框以获得浮雕外观 我可以在一个元素上执行此操作吗 我希望避免堆叠两个具有单独边框的 DOM 元素 是的 使用outline财产 它充当您边界之外的第二个边界 但请注意 它可能会以一种奇怪的方式与边距 填充和阴影进行交互
  • 如何从配置加载套接字 io 事件监听器? [复制]

    这个问题在这里已经有答案了 我有使用套接字io 的nodejs 应用程序 我将存储在 config routes js 中的所有事件侦听器 module exports routes auth login controller auth a
  • IE6中透明背景png图像问题

    PNG类型的背景图像在ie6中不透明 查看这些帖子 IE6 PNG 透明度 https stackoverflow com questions 697682 ie6 png transparency 如何在IE6中使用半透明png图片 ht
  • 如何使用剪辑来减少绘画时间?

    我正在尝试使用 Clip 来减少 CPU 负载 但剪辑在屏幕上留下了一些我似乎无法摆脱的垃圾 另外 打开和关闭剪辑似乎对 CPU 负载没有影响 在任一情况下 大部分时间似乎都花在重绘管理器和绘制缓冲图像上 import static jav
  • 正在获取“未终止 [] 设置”。 C# 中的错误

    我正在 C 中使用以下正则表达式 Regex find new Regex url
  • 检测 SignalR Hub 客户端立即断开连接

    SignalR Hub OnDisconnected 何时在服务器端引发 对于崩溃或关闭而不调用Stop method 我正在使用 SignalR NET 客户端进行测试 而不是 javascript 客户端 如果我打电话给Stop客户端上