Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/azure/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc Azure服务总线等待响应_Asp.net Mvc_Azure_Servicebus - Fatal编程技术网

Asp.net mvc Azure服务总线等待响应

Asp.net mvc Azure服务总线等待响应,asp.net-mvc,azure,servicebus,Asp.net Mvc,Azure,Servicebus,我是个新手,所以请原谅我。我将让客户端应用程序(web、移动)向Azure服务总线发送请求。这些客户机如何从从队列中提取消息并对其进行处理的工作机接收响应?假设出现以下情况: 网站用户希望获得项目列表。他们按一个按钮请求列表 单击按钮将向Azure队列发送请求 网站等待响应(在同一网页上的ASP.NET中,同一会话?) 同样的体验也适用于移动应用程序我们使用Azure Service Bus解决了这个问题,因为我们有两个系统无法通过API或其他方式直接相互通信,但两个系统都可以与Azure Se

我是个新手,所以请原谅我。我将让客户端应用程序(web、移动)向Azure服务总线发送请求。这些客户机如何从从队列中提取消息并对其进行处理的工作机接收响应?假设出现以下情况:

  • 网站用户希望获得项目列表。他们按一个按钮请求列表
  • 单击按钮将向Azure队列发送请求
  • 网站等待响应(在同一网页上的ASP.NET中,同一会话?)

  • 同样的体验也适用于移动应用程序

    我们使用Azure Service Bus解决了这个问题,因为我们有两个系统无法通过API或其他方式直接相互通信,但两个系统都可以与Azure Service Bus通信。下面是它的工作原理:

  • 客户端(web站点SPA,我们称之为“妻子”)调用其自己的后端服务器API
  • 服务器将请求发布到消息队列(队列a)
  • 另一个系统(我们称之为“丈夫”)订阅消息队列A,处理请求并将响应发布到另一个队列(队列B)
  • 步骤2中的服务器订阅了消息队列B并一直在等待响应。它窥视队列,检查响应是否与步骤2中发送的请求相同,并在步骤1中响应客户端

  • 效果很好。如果丈夫(在步骤3中)出于任何原因离线,那么当他醒来并发布响应时,它会处理该消息。妻子客户端应用程序将超时等待响应-有一条消息说数据此时不可用,但将尽快处理。在这种情况下,消息很重要,我们稍后会处理死信消息。

    令人困惑的问题是,您通常不会使用SB队列填充列表,而是在客户端上单击按钮运行。和SB的所有交互都是(间接地)通过REST调用完成的,您使用的是哪个库?我将使用http客户端在.NET中调用Azure。我只是想知道如何异步调用Azure服务来获取数据,而不必等待UI线程上的响应,可能需要回调,因为这可能是一个长时间运行的过程。我认为服务总线队列将是一个不错的选择。