Vinny,
Jag har aldrig använt Ninject, så jag kan vara långt borta med detta förslag. Men det verkar möjligt att ha en statisk MongoSession-instans kan hålla anslutningar öppna. Har du provat TransientBehavior istället för SingletonBehavior? Eller kanske ändra din kod för att ringa Kasta (eller använda använda) efter att du konverterat dina genvägslänkar till en lista? Alla
var shortcutLionks = _session.All<ShortcutLinks>().ToList();
_session.Dispose();
Ett bättre tillvägagångssätt kan vara att använda något slags repository eller DAO där sessionsdetaljerna är dolda från kontrollern. Jag har ett RepositoryBase-exempel på http:/ /www.codevoyeur.com/Articles/20/A-NoRM-MongoDB-Repository-Base-Class.aspx .
Stuart Harris har en liknande, utan tvekan mer komplett implementering på http://red-badger.com/Blog/post/A-simple-IRepository3cT3e-implementation-for-MongoDB-and-NoRM.aspx
Poolade MongoDB-anslutningar är relativt billiga att skapa, så det är förmodligen bäst att se till att dataåtkomstmetoderna försvinner efter att du har hämtat/sparat data.