C# 是SubscriptionClient.RegisterMessageHandler(),使用';代理关系';在Azure服务总线中?

C# 是SubscriptionClient.RegisterMessageHandler(),使用';代理关系';在Azure服务总线中?,c#,azure,azureservicebus,C#,Azure,Azureservicebus,我正在尝试使用Azure服务总线对定价进行非常具体的估算。MS文档很难破译,但就ASB而言,“代理连接”似乎是关键变量,因为在标准层中,您会为此收取费用。据我所知,代理连接用于HTTP“长轮询” 我正在使用这个Microsoft.Azure.ServiceBus NuGet包,使用SubscriptionClient侦听消息,并注册回调以使用RegisterMessageHandler()方法处理消息 我想弄清楚的是:这个SubscriptionClient是否使用代理连接?如果是,这对我的定价

我正在尝试使用Azure服务总线对定价进行非常具体的估算。MS文档很难破译,但就ASB而言,“代理连接”似乎是关键变量,因为在标准层中,您会为此收取费用。据我所知,代理连接用于HTTP“长轮询”

我正在使用这个Microsoft.Azure.ServiceBus NuGet包,使用SubscriptionClient侦听消息,并注册回调以使用RegisterMessageHandler()方法处理消息

我想弄清楚的是:这个SubscriptionClient是否使用代理连接?如果是,这对我的定价估计有很大影响

非常感谢您的帮助

我想弄清楚的是:这个SubscriptionClient是否使用代理连接?如果是,这对我的定价估计有很大影响


代理连接是与代理建立的连接。连接可以通过HTTPS与
ManagementClient
一起使用,也可以通过TCP端口5671与任何其他客户端一起使用,用于AMQP操作(或WebSocket)。每个客户端可以有自己的连接,也可以共享它。当使用连接字符串创建客户端时,将发出一个新连接。或者,客户端可以共享/池a。这将导致多个客户端共享同一“通道”与代理进行对话。在代码中,您必须在共享连接和创建新连接之间找到平衡。

从另一篇MSDN帖子中得到了答案。答案是:

“SDK使用AMQP进行连接。”

因此SubscriptionClient肯定会产生代理连接费用,因为AMQP始终是代理连接

现在我只需要计算一下成本影响


谢谢你的回复,肖恩

谢谢你的回复。不过我还是有点不清楚——这真的只是“与经纪人建立了联系”吗?MS文档说:“…HTTP调用以接收来自接收超时值大于零的服务总线主题或队列的消息…”以及:“…使用超时值大于零的HTTP接收事件,有时称为“长轮询”,生成代理连接费用…”如何确定SubscriptionClient是否正在执行此操作?任何客户端(队列、订阅、主题或管理)都需要连接,并且这些连接将计入允许的配额。AMQP是一种实现的协议。连接始终通过TCP进行。希望这能澄清这一点。好吧,但是对于一个零超时的HTTP请求呢?这些文件暗示这不是一个付费连接。SubscriptionClient是否发送零超时?如果是这样,那么它使用的是一个协议(HTTP),但不是计费的。这就是我不清楚的。任何连接都是收费的。不幸的是,我无法指向文档,因为它不存在。至少我没有意识到。