I switch to using Masstransit.Host and the after the consumer processes the request and return the response the message in the queue is not acknowledged. Any thought on what might be wrong ?
in consumer class
public async Task Consume(ConsumeContext<ISubmitNewOrderRequest> context)
{
SubmitNewOrderResponse response = new SubmitNewOrderResponse() { Status = "Successful", Orders = context.Message.Orders };
do something...
context.Respond<ISubmitNewOrderResponse>(response);
}
public class MgtService : IServiceSpecification
{
public void Configure(IServiceConfigurator configurator)
{
configurator.UseRetry(Retry.None);
}
}
public class MgtServiceEndPoint : IEndpointSpecification
{
readonly IConsumerFactory<ManagementConsumer> _consumerFactory;
string _queueName = "";
public MgtServiceEndPoint(IConsumerFactory<ManagementConsumer> consumerFactory)
{
_consumerFactory = consumerFactory;
_queueName = Helper.GetAppSettingString("NewOrderQueue");
}
public int ConsumerLimit => Environment.ProcessorCount;
public string QueueName
{
get { return _queueName; }
}
public void Configure(IReceiveEndpointConfigurator configurator)
{
configurator.Consumer(_consumerFactory);
}
}