Redisからのメッセージを処理するWebアプリとバックグラウンドサービスがあります。ただし、Webアプリケーションをシングルトンとして構成する必要があるかどうかはわかりませんRedisMqServer
(IoCコンテナーとしてNinjectを使用しています)。来る各リクエストは、バックグラウンドサービス(一方向)にメッセージを送信する必要がありますが、リクエストごとまたはアプリケーションごとにインスタンス化する必要があるかどうかはわかりません。
コンテナは次のように構成されていると思いました。
var clientManager = new PooledRedisClientManager();
var mqHost = new RedisMqHost(clientManager);
Bind<IMessageProducer>()
.ToMethod(_ => mqHost.MessageFactory.CreateMessageProducer())
.InRequestScope();
またはRedisMqHost/RedisMqServer
、メッセージが一方向の場合は必要ないのでしょうか。したがって、構成を次のように減らします。
var clientManager = new PooledRedisClientManager();
Bind<IMessageProducer>()
.ToMethod(_ => new RedisMessageProducer(clientManager))
.InRequestScope();