c# - 如何在没有 MSMQ 的情况下通过 http 接收消息

标签 c# messaging

我需要一个可靠的消息传递框架,该框架通过 http/https 运行(由于客户端安全要求)并且不使用 MSMQ(因为某些客户端将使用 Windows XP Home)。客户端只需要能够接收消息,而不是发送消息。

我们已经在服务器上为每个用户建立了一个消息队列,并且接收者通过连接到服务器上的 HttpHandler 并从

获取 Stream 来获取消息
WebResponse.GetResponseStream()

我们保持该流打开,并使用 Stream.Read() 从中提取消息。这大部分是有效的,但是 Stream.Read() 是一个阻塞调用,我们无法可靠地中断它。我们需要能够停止和启动接收器而不丢失消息,但旧流经常挂起,即使我们在其线程上调用 Thread.Abort 之后也是如此。

有什么建议吗?

最佳答案

我会使用 WCF。它支持 WS-ReliableMessaging 标准。您可以对其进行配置,以便保证消息以正确的顺序到达。

关于c# - 如何在没有 MSMQ 的情况下通过 http 接收消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2571310/

相关文章:

c# - ComboBox 不选择 ViewModel 提供的任何项目

.net - 长时间运行的 MSMQ 消息处理。限制工作线程数

api - Spread vs MPI vs Zeromq?

java - JMS(或任何消息传递解决方案)是否适合追随者/追随者模型

java - 消息传递架构

c# - 如何更新 xml 文件设置

C# 字符串拆分 - 索引越界

c# - 如何在 Linq Query 中获取 IndexOf() 空格

c# - 需要在 Startup.cs 的 ConfigureServices 方法中获取站点 URL

c# - 我正忙于编写 C# IBM MQ 客户端应用程序,并不断收到 "Exception: The type initializer for ' IBM.WMQ.Nmqi.UnmanagedNmqiMQ' 抛出异常。”