检测与浏览器客户端的连接是否中断

时间:2013-06-18 11:24:59

标签: c#-4.0 browser asp.net-4.0 html4

我有一个网站,它使用Long Poll等待服务器完成处理某些数据。但是,可能会发生超时或用户可能关闭其浏览器,但服务器正在不断处理其数据 我希望服务器在Long Poll连接断开后立即停止处理数据。没有客户会收到数据,因此这个漫长的过程无法继续运行...... 如何做到这一点?

服务器正在将文件添加到ZIP存档,这需要一些时间,因为这些是合理的大文件。完成后,它将发送最终的ZIP文件并关闭连接。但是如果客户端在任务完成之前断开连接,服务器应该停止它的工作并再次丢弃所有内容......

1 个答案:

答案 0 :(得分:3)

您应该考虑使用SignalR框架。它提供了非常舒适的活动,例如 OnConnect() OnDisconnect() 。在引擎盖下它与

一起使用
  • 的WebSockets
  • 服务器已发送事件
  • 永远的框架
  • 长轮询

它使用给定环境中可用的任何内容,从WebSockets开始。