4

私はここでRedisドキュメントを使用したServiceStackメッセージングを確認しています:

https://github.com/ServiceStack/ServiceStack/wiki/Messaging-and-redis

基本をよく説明しているようです。私がよく理解していないのは、MessageFactoryを介して公開する場合の違いと適用可能なユースケースです。

.CreateMessageProducer.Publish()

.CreateMessageQueueClient.Publish()

コードを確認する予定ですが、「公式」の説明のためにここに投稿したいと思います。

4

1 に答える 1

4

IMessageProducerおよびのAPIは次のIMessageQueueClientとおりです。

public interface IMessageProducer : IDisposable
{
    void Publish<T>(T messageBody);
    void Publish<T>(IMessage<T> message);
}

public interface IMessageQueueClient : IMessageProducer
{
    void Publish(string queueName, byte[] messageBytes);
    void Notify(string queueName, byte[] messageBytes);
    byte[] Get(string queueName, TimeSpan? timeOut);
    byte[] GetAsync(string queueName);
    string WaitForNotifyOnAny(params string[] channelNames);
}

基本的にaもMessageQueueClient ですが、Publish to Getメッセージをキューから外したり、MQトピックをパブリッシュおよびサブスクライブしたりするMessageProducerことに加えて、他のきめ細かいメソッドが含まれています。

Publish<T>メッセージクライアントとプロデューサーの両方で型指定されたAPIは、同じ動作をします。

于 2012-11-10T18:41:05.273 に答える