【问题标题】:How can I receive messages over http without MSMQ如何在没有 MSMQ 的情况下通过 http 接收消息
【发布时间】:2010-04-03 23:57:55
【问题描述】:

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

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

WebResponse.GetResponseStream()

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

有什么建议吗?

【问题讨论】:

    标签: c# messaging


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

      关于锁的问题,你考虑过WCF框架吗?

      单身。一次一个线程可以访问服务对象。这是此属性的默认值。 可重入。一次一个线程可以访问服务对象,但线程可以退出并重新进入。 多。一次可以有多个线程访问服务对象。

      http://msdn.microsoft.com/en-us/library/dd936243.aspx

      它允许对服务在多个调用中的行为方式进行大量控制,并且可以同时使用 http 和 https。

      【讨论】:

        猜你喜欢
        • 2014-08-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-04-28
        • 2018-05-10
        • 1970-01-01
        • 2014-05-24
        相关资源
        最近更新 更多