【问题标题】:MassTransit RequestResponse sample move responses to skipped queue on .Net coreMassTransit RequestResponse 示例将响应移动到 .Net 核心上的跳过队列
【发布时间】:2017-08-01 06:36:26
【问题描述】:

我将 MassTransit Sample-RequestResponse sample 移植到 .net 核心。为了托管 .net 核心服务,对示例进行了一些小的修改。虽然服务可以接收到请求,但是响应并没有被客户端接收到并且最终在 rabbitmq 上的 ignore_skipped 队列中。但是,在某些执行中,我收到了对我发送的第一个请求的响应,之后又失败了。造成这种情况的根本原因是什么?我们如何在 MassTransit 上实现 RequestResponse 模式

System.AggregateException: One or more errors occurred. (Timeout waiting for response, RequestId: 61000000-5d62-0015-cafc-08d4d8a6a3f2) ---> MassTransit.RequestTimeoutException: Timeout waiting for response, RequestId: 61000000-5d62-0015-cafc-08d4d8a6a3f2
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at MassTransit.RequestClient`2.<Request>d__6.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()
   at Client.Program.<>c__DisplayClass0_2.<<Main>b__1>d.MoveNext() 

【问题讨论】:

  • 由于 .NET Core 版本处于预发布阶段,我建议打开 github issue 而不是在这里询问。
  • 完成 #953 。谢谢

标签: rabbitmq .net-core masstransit


【解决方案1】:

请求/响应交换和队列的创建方式存在错误。我已经修补了代码并且我的拉取请求#954 被合并了。

【讨论】:

  • 不敢相信.. 我浪费了 2 个小时试图弄清楚我做错了什么。感谢您的修复!
  • @gerjvr 虽然创建了一个新队列我仍然没有得到响应,使用最新的 nuget "4.0.0.1248-develop" ,它是另一个错误吗?
  • @AviramFireberger 我刚刚尝试使用新软件包,它按预期工作。
  • 抱歉,我注意到我忘记启动总线为返回对象创建队列
猜你喜欢
  • 1970-01-01
  • 2019-06-09
  • 1970-01-01
  • 2022-01-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多