Vinny,
Jeg har aldrig brugt Ninject, så jeg kunne være langt væk med dette forslag. Men det lader til at være muligt, at det at have en statisk MongoSession-instans kan holde forbindelser åbne. Har du prøvet TransientBehavior i stedet for SingletonBehavior? Eller måske ændre din kode til at kalde Disponere (eller bruge ved at bruge), efter du har konverteret dine genvejslinks til en liste? Alle
var shortcutLionks = _session.All<ShortcutLinks>().ToList();
_session.Dispose();
En bedre tilgang kan være at bruge en slags repository eller DAO, hvor sessionsdetaljerne er skjult for controlleren. Jeg har en RepositoryBase-eksempel på http:/ /www.codevoyeur.com/Articles/20/A-NoRM-MongoDB-Repository-Base-Class.aspx .
Stuart Harris har en lignende, velsagtens mere komplet implementering på http://red-badger.com/Blog/post/A-simple-IRepository3cT3e-implementation-for-MongoDB-and-NoRM.aspx
Poolede MongoDB-forbindelser er relativt billige at oprette, så det er nok bedst at sikre sig, at dataadgangsmetoderne bortskaffes, når du er færdig med at hente/gemme data.