Vinny,
Je n'ai jamais utilisé Ninject, donc je pourrais être loin de cette suggestion. Mais il semble possible qu'une instance MongoSession statique maintienne les connexions ouvertes. Avez-vous essayé TransientBehavior au lieu de SingletonBehavior ? Ou peut-être changer votre code pour appeler Dispose (ou utiliser using) après avoir converti vos ShortcutLinks en List ? Tout
var shortcutLionks = _session.All<ShortcutLinks>().ToList();
_session.Dispose();
Une meilleure approche pourrait consister à utiliser une sorte de référentiel ou de DAO où les détails de la session sont cachés au contrôleur. J'ai un exemple de RepositoryBase sur http:/ /www.codevoyeur.com/Articles/20/A-NoRM-MongoDB-Repository-Base-Class.aspx .
Stuart Harris a une implémentation similaire, sans doute plus complète sur http://red-badger.com/Blog/post/A-simple-IRepository3cT3e-implementation-for-MongoDB-and-NoRM.aspx
Les connexions MongoDB groupées sont relativement peu coûteuses à créer, il est donc probablement préférable de s'assurer que les méthodes d'accès aux données sont supprimées après avoir obtenu/enregistré les données.