- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想知道服务总线消息泵在底层是如何工作的。有人可以指出我有什么好的文档吗?
当我将消息发送到队列并等待回调调用时,我没有看到幕后发生任何 Http 调用。回调是如何进行的,是否有打开的 tcp session ?此通信使用什么协议(protocol)。
任何帮助都是有帮助的。
最佳答案
服务总线消息泵只是现有接收
操作的一个很好的包装器。我的理解是,在底层,一个线程被旋转起来,使用标准的 Receive 方法从队列中请求消息。当消息泵收到消息时,它将启动一个线程并调用 OnMessage 委托(delegate)(最多为 OnMessageOptions 类上的并发调用属性数)。
关于消息泵与服务总线的实际通信,这取决于 connectivity mode 。默认情况下,代理消息传递的连接模式是 AutoDetect,但正如您在上面的链接末尾处看到的注释,代理消息传递不支持从 TCP 回退到 HTTP,因此对于代理消息传递,它从 TCP 开始并保持不变,除非您显式地将其设置为 HTTP。
在 HTTP 连接模式下,如果您有 correct ports open ,您可以看到来自 Receive
调用的请求发出,并且只要发生长轮询,您就可以看到它更新请求。在 TCP 模式下(或者默认情况下,因为 AutoDetect 不会回退到 HTTP),它会打开 TCP 连接(在端口 9354 上)并将其用于双向通信。如果使用 Process Explorer 或 NetStat 等工具,您可以看到这一点。
实际上,关于服务总线使用的专有协议(protocol)并没有太多好的文档。它们确实直接支持 AMQP,这是一种开放的消息传递协议(protocol),通过不同的端口进行传输。 .NET library handles this但您可以通过连接字符串确定传输方式,或者在创建 MessagingFactory
时通过在 MessagingFactoryOptions
对象上设置 TransportType
来确定传输方式。
关于Azure 服务总线消息泵,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21152188/
我要附上 child window到外部应用程序。子窗口将是一个无模式对话框。由于我不拥有外部应用程序(实际上是 Microsoft FSX)的源代码,因此我不知道如何挂接到消息循环或回调中 LRES
更新:在确保我的命令、串行配置和终止符 ('\r') 正确后,我在 5 台计算机中的 1 台上运行。这让我相信这是一个适配器问题。我打算调用公司,了解有关订购 USB/RJ11 适配器的信息(我一直在
我是一名优秀的程序员,十分优秀!