c# – Pool回收的ASP.NET Websocket行为

c# – Pool回收的ASP.NET Websocket行为,第1张

概述我目前正在评估使用asp.net websockets来连接数千个客户端,这些客户端几乎全天候都会与应用程序保持连接,除非服务器脱机进行修补等.一般来说,系统的期望是websockets不应该不必要地断开连接,客户端基本上保持连接并每隔几分钟ping一次服务器. 当我在研究新架构的asp.net websocket可行性时,我遇到了另一个stackoverflow帖子:IIS App Pool c 我目前正在评估使用asp.net websockets来连接数千个客户端,这些客户端几乎全天候都会与应用程序保持连接,除非服务器脱机进行修补等.一般来说,系统的期望是websockets不应该不必要地断开连接,客户端基本上保持连接并每隔几分钟Ping一次服务器.

当我在研究新架构的asp.net websocket可行性时,我遇到了另一个stackoverflow帖子:IIS App Pool cannot recycle when there is an open ASP.NET 4.5 Websocket,这似乎表明如果有一个活动的websocket连接,IIS不会回收池.这是设计还是其他人遇到异常?如果IIS确实在websocket连接处于活动状态时回收池,那么预期的行为是什么? http.sys是否保持连接,回收池并恢复事务,就像没有发生任何事情一样(从客户的角度来看)?我应该为websockets创建一个单独的应用程序池并禁用它上面的回收吗?

解决方法 根据我的经验,旧工作进程上的WebSockets没有转换到新的工作进程.我观察到旧的WebSockets被置于非Open状态,由你的代码检查并停止维护这些线程 – 我的应用程序通过WebSockets为客户端创建心跳,如果心跳失败,我需要尽快关闭(已经关闭)WebSocket上下文,以便旧的工作进程可以完全卸载并死掉. 总结

以上是内存溢出为你收集整理的c# – Pool回收的ASP.NET Websocket行为全部内容,希望文章能够帮你解决c# – Pool回收的ASP.NET Websocket行为所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/1226710.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-06-05
下一篇2022-06-05

发表评论

登录后才能评论

评论列表(0条)

    保存