3
我有一個ASP.NET MVC應用程序,我剛開始使用ServiceStack的Redis客戶端。我使用Ninject作爲我的IoC容器。目前我的綁定是這樣的:ServiceStack的IRedisClientManager + Ninject - 使用InSingletonScope?
Bind<IRedisClientsManager>()
.ToMethod(c => new BasicRedisClientManager("localhost:6379"))
.InSingletonScope();
Bind<ICacheClient>().ToMethod(c => c.Kernel.Get<IRedisClientsManager>().GetCacheClient());
Bind<IRedisClient>().ToMethod(c => c.Kernel.Get<IRedisClientsManager>().GetClient());
我有效地創建BasicRedisClientManager的一個單一實例在應用程序啓動時使用的一個ICacheClient或IRedisClient的任何請求實例。我在這裏做了什麼正確的典型用例?提前致謝!
謝謝!我現在正在重新考慮上面的其他綁定。具體來說,IRedisClient被注入到掛起的控制器中,直到gc通過。這類似於保持關鍵資源的開放嗎?讓他們保持短命是重要的(即將他們的創作包裝在使用說明中)? –