Viny,
Saya belum pernah menggunakan Ninject, jadi saya bisa saja menyimpang dari saran ini. Tetapi tampaknya memiliki instance MongoSession statis mungkin membuat koneksi tetap terbuka. Sudahkah Anda mencoba TransientBehavior alih-alih SingletonBehavior? Atau mungkin mengubah kode Anda untuk memanggil Buang (atau gunakan menggunakan) setelah Anda mengonversi Tautan Pintasan Anda ke Daftar? Semua
var shortcutLionks = _session.All<ShortcutLinks>().ToList();
_session.Dispose();
Pendekatan yang lebih baik mungkin menggunakan semacam repositori atau DAO di mana detail sesi disembunyikan dari pengontrol. Saya memiliki sampel RepositoryBase di http:// /www.codevoyeur.com/Articles/20/A-NoRM-MongoDB-Repository-Base-Class.aspx .
Stuart Harris memiliki implementasi serupa yang bisa dibilang lebih lengkap di http://red-badger.com/Blog/post/A-simple-IRepository3cT3e-implementation-for-MongoDB-and-NoRM.aspx
Koneksi gabungan MongoDB relatif murah untuk dibuat, jadi mungkin yang terbaik adalah memastikan metode akses data dibuang setelah Anda selesai mendapatkan/menyimpan data.