【发布时间】:2010-04-03 23:57:55
【问题描述】:
我需要一个可靠的消息传递框架,该框架通过 http/https 运行(由于客户端安全要求)并且不使用 MSMQ(因为某些客户端将使用 Windows XP Home)。客户端只需要能够接收消息,而不是发送消息。
我们已经在服务器上为每个用户建立了一个消息队列,并且接收者一直通过连接到服务器上的 HttpHandler 并从中获取 Stream 来获取消息
WebResponse.GetResponseStream()
我们保持这个流打开,并使用 Stream.Read() 从中提取消息。这最有效,但 Stream.Read() 是一个阻塞调用,我们不能可靠地中断它。我们需要能够在不丢失消息的情况下停止和启动接收器,但旧流经常挂起,即使在我们在其线程上调用 Thread.Abort 之后也是如此。
有什么建议吗?
【问题讨论】: