服务
Public Class GetContactConsumer
Implements Consumes(Of Schema.KlantService.IGetContactV1).Context
Public Sub Consume(message As IConsumeContext(Of Schema.KlantService.IGetContactRequestV1)) Implements MassTransit.Consumes(Of IConsumeContext(Of Schema.KlantService.IGetContactRequestV1)).All.Consume
HandleMessageAsync(message)
End Sub
Private Async Sub HandleMessageAsync(context As IConsumeContext(Of Schema.KlantService.IGetContactPersonenRequestV1))
Dim Id = context.Message.Id
Dim contacten = Await New ContactPersonenController().GetContactPersonen(Id)
Dim response As New GetContactResponseV1
response.Contacten = contacten
context.Respond(response)
End Sub
End Class
MassTransit支持请求回复机制,但困扰我的是响应者的设计取决于它。 我已设置此服务以支持RR,但是如果我想从其他服务发送内容(使用基于正常事件的练习)。将此设置与消费者结合使用以进行响应,响应将最终出现在错误队列中。
我的猜测是,这是因为我的消费者发送的ACK不足。 有没有办法可以在MVC应用程序中使用请求回复,但是使用常规事件进行服务到服务通信?