ビニー、
私はNinjectを使ったことがないので、この提案をやめることができます。ただし、静的なMongoSessionインスタンスがあると、接続が開いたままになる可能性があります。 SingletonBehaviorの代わりにTransientBehaviorを試しましたか?または、ShortcutLinksをリストに変換した後、Disposeを呼び出す(またはusingを使用する)ようにコードを変更しますか?すべて
var shortcutLionks = _session.All<ShortcutLinks>().ToList();
_session.Dispose();
より良いアプローチは、セッションの詳細がコントローラーから隠されている、ある種のリポジトリーまたはDAOを使用することです。 http:/にRepositoryBaseサンプルがあります。 /www.codevoyeur.com/Articles/20/A-NoRM-MongoDB-Repository-Base-Class.aspx 。
Stuart Harrisは、 http://red-badger.com/Blog/post/A-simple-IRepository3cT3e-implementation-for-MongoDB-and-NoRM.aspx
プールされたMongoDB接続は比較的安価に作成できるため、データの取得/保存が完了したら、データアクセスメソッドが破棄されていることを確認するのがおそらく最善です。