我了解为了设置服务总线,我们需要
- 创建服务总线命名空间
- 创建本地 WCF 并通过绑定指向上面的服务总线端点。
WCF 知道 Service Bus End Point,但是 Service Bus Relay 如何知道将消息中继到全球特定 WCF 端点的位置?
谢谢。
我了解为了设置服务总线,我们需要
WCF 知道 Service Bus End Point,但是 Service Bus Relay 如何知道将消息中继到全球特定 WCF 端点的位置?
谢谢。
服务总线不知道端点在哪里。终结点与服务总线建立连接,然后服务总线使用该连接将请求(从发出请求的 WCF 客户端中继)发送到 WCF 终结点。
服务总线中继的全部意义在于,由于网络/NAT/防火墙问题,没有从 Azure 到本地计算机的连接。本地计算机与 Azure 之间只有一个连接。
服务总线 WCF 服务中继绑定实现与相应的常规 WCF 服务绑定相同的行为,但有一个主要区别。
通常,设置 WCF 服务绑定以接收来自客户端的传入连接。但是,中继服务绑定旨在与 Azure 上的中继服务建立传出连接。绑定旨在保持此连接的控制通道始终处于活动状态。来自客户端的消息到达 Azure 上 WCF 服务的中继终结点,并根据绑定类型通过各种机制转发到 WCF 服务。因此,中继服务绑定使 WCF 服务似乎正在接收来自客户端的传入连接,即使初始连接是作为出站连接建立的。