我是 WCF 新手,在寻找问题的解决方案时遇到了问题。 我设置了 WCF 来处理一些逻辑(简单的数据库处理)。 然后,我有一个网页 (ASP.NET),它从 WCF 获取数据(并将数据发送到 WCF)。 现在我尝试使用 Azure 服务总线将数据发送到 WCF。当我访问 ASP.NET 网站时,它工作得很好。它的工作原理如下: 1、客户端应用程序将数据发送到服务总线。 2、ASP.NET网页从Service Bus读取数据。 3、ASP.NET发送数据到WCF。 4、WCF更新数据库。 一切正常。 但是,我希望 WCF 能够不断监听服务总线。 我该怎么做?
最佳答案
在这种情况下,您有 2 个选择:
- 使用服务总线队列的 WCF 端点:http://blogs.msdn.com/b/tomholl/archive/2011/10/07/using-service-bus-queues-with-wcf.aspx
- 使用服务总线中继:https://www.windowsazure.com/en-us/develop/net/how-to-guides/service-bus-relay/
根据您的情况,您将使用这些选项之一。第一个场景使用队列。如果您的 WCF 服务因任何原因不可用,您的客户端仍将继续工作(消息将传递到队列并由 WCF 服务在可用时拾取)。
第二个场景将在您的客户端和 WCF 服务之间创建一座桥梁(可能位于本地、其他数据中心......)。由于它是直接连接,您可以收到响应。但请记住,如果您的 WCF 服务离线,您的客户端将收到异常,您需要处理该异常。
关于WCF监听服务总线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10946549/