メッセージをサブスクライブおよびサブスクライブ解除する方法を示す例は、RedisMqServerにあります(例:
)。using (var subscription = redisClient.CreateSubscription())
{
subscription.OnUnSubscribe = channel =>
Log.Debug("OnUnSubscribe: " + channel);
subscription.OnMessage = (channel, msg) =>
{
if (msg == "STOP")
{
Log.Debug("Stop Command Issued");
Log.Debug("Unsubscribing from all Channels...");
subscription.UnSubscribeFromAllChannels(); //Unblocks thread.
}
};
subscription.SubscribeToChannels(QueueNames.TopicIn); //blocks thread
}
カスタム制御メッセージを使用してバックグラウンドスレッドのブロックを解除し、サブスクリプションからすべてのチャネルのサブスクリプションを解除する場合 OnMessage ハンドラー。