For this microservice, we are choosing to not have reply messages. There's nothing saying any one way is better than the other. If you believe that you need response messages in order to validate the chain of custody or just to log compliance, then feel free to create a message, register it, subscribe, and process it accordingly. For our purposes we will simply send requests and assume they were processed.
The first message is for our Wikipedia search. The second message is for our text to speech translation:
[Queue("Speech", ExchangeName = "EvolvedAI")]
[Serializable]
public class WikipediaSearchMessage
{
public int maxReturns { get; set; }
public string searchTerm { get; set; }
}
[Queue("Speech", ExchangeName = "EvolvedAI")]
[Serializable]
public class SpeechRequestMessage
{
public int ID { get; set; }
public string text { get; set...