我在Azure上有一个虚拟机,它将通过Azure的服务总线收听消息。另一个开发人员需要连接到此servicebus以向我的服务发送消息。为此,我们需要为此通信系统提出一些协议。我正在考虑使用WSDL使服务器像webservice一样,但它不是监听标准的HTTP端口,而是连接到服务总线,并在其中连接一个订阅主题,或者其他什么。我还不确定什么是最好的。
那么,有可能吗?以前有人做过类似的事吗?有一些例子吗?
答案 0 :(得分:1)
Service Bus提供Brokered和Relayed消息传递模型。使用主题/队列,您实际上是向代理发送消息和从代理接收消息。因此,您可以使用代理支持的API /协议。例如,您可以使用服务/客户端的NetMessagingBinding
通过队列发送和接收消息。除了您在BrokeredMessage
正文和属性值中添加的内容之外,此处没有合约。任何一端的应用程序都可以根据需要解码/解密该信息。
在中继消息传递的情况下,您在客户端和服务之间建立端到端连接,服务总线充当授权,位置透明甚至负载平衡之间的代理。因此,您可以使用各种RelayBindings
,例如NetTcpRelayBinding
或webHttpRelayBinding
,但客户端和服务需要同时可用。在这里,您需要服务和客户使用相同的合同。