Process ServiceStack MQ Services without a HTTP host

Please help me.
I have ServiceStack MQ Services without a HTTP host


And I have Server function process Add 1 customer

When client post 1 message typeof(CustomerAddModel)

In CustomerAddModel have properties RequetId (GUI).
When server function process complete I set Response.RequetId = CustomerAddModel.RequetId.
I check in client RequetId in request and response not map when i have mutiple request.

I see RequetId from response 2 map with RequetId from request 1.
I think Request not persitent in one action???. Result from request A can assigned to request B or other.
Please help me.

First check Rabbit MQ queue to see the messages in the Queue are what you expected to be there so the issue isn’t somewhere else in your code that’s publishing messages to Rabbit MQ.

Otherwise we’ll need a stand-alone repro in order to stand any chance to figure out what the issue is. Please put together a stand-alone Console project on Github we can run locally to see the issue.

Service stack care about which response from multiple request?.
Example:
Client send “Request 1” success but not receive result ( Server process success and send to response queue ).
Then client send “Request 2” and receive result from “Request 1”.
That is my case. I want “Request 2” receive result from “Request 2” not “Request 1”.

This isn’t executed within a normal ServiceStack AppHost, you’re just using the MQ API as a code library to execute c# methods. The MQ Clients are a lightweight wrapper over Rabbit MQ, they aren’t sending multiple request themselves, they’re just publishing messages and receiving whatever is sent to the MQ Broker. Make sure you’ve checked the state of the Rabbit MQ contains what you expect it does and that after executing a request it’s properly acknowledged and removed from the Rabbit MQ Queue.

@citigo Can you provide a small stand-alone sample which reproduces your issue so we can look into it more closely?

Thank @xplicit.
I Using TempQueueName And solved the problem

string replyToMq = mqClient.GetTempQueueName();
var message = new Message<CustomerAddModel>(model)
{
          ReplyTo = replyToMq
 };
 mqClient.Publish(message);
 var responseMsg = mqClient.Get<CustomerAddResponse>(replyToMq, Timeout);

Great to hear that the issue is solved!