asp.net – 使用/ signalr / ping调用时使用长轮询

我用SignalR长时间轮询.我发现在基于singalr的网页进行/ signar / ping请求( as shown in this screenshot)之后,用户会话结束(ASP.NET Session_End正在被调用).我经历了 http://www.asp.net/signalr/overview/signalr-20/hubs-api/handling-connection-lifetime-events,但无法明确答案.

>如何让一个信号客户端网页上的ASP.net用户会话活着?
> ping的实际目的是什么?
>这个/ ping呼叫的时间是否可配置?

解决方法

/ signalr / ping请求的整个目的是保持ASP.NET会话活动.通过以比会话超时更短的定期间隔发出请求,会话永远不会过期,因为服务器应该重置每个请求的超时.

在长时间轮询传输的情况下,这可能是不必要的,因为SignalR将在给定认配置的情况下至少每110秒强制一次新的长轮询.即使如此,SignalR将认发出每5分钟的ping请求,无论使用什么传输.这5分钟的时间间隔足以处理ASP.NET认的20分钟会话超时.

您可以在调用$.connection.hub.start时将5分钟ping间隔更改为自定义值,如下所示:

// Configure SignalR to ping the server every minute
$.connection.hub.start({ pingInterval: 60000 })//...

认的pingInterval是300000毫秒(5分钟).您可以通过将pingInterval设置为null来禁用ping.

相关文章

### 创建一个gRPC服务项目(grpc服务端)和一个 webapi项目(...
一、SiganlR 使用的协议类型 1.websocket即时通讯协议 2.Ser...
.Net 6 WebApi 项目 在Linux系统上 打包成Docker镜像,发布为...
一、 PD简介PowerDesigner 是一个集所有现代建模技术于一身的...
一、存储过程 存储过程就像数据库中运行的方法(函数) 优点:...
一、Ueditor的下载 1、百度编辑器下载地址:http://ueditor....