sql >> Databasteknik >  >> NoSQL >> MongoDB

Norm.MongoException:Timeout för anslutning försöker få anslutning från anslutningspool

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.



  1. Mongo Db sök efter indexerat fält

  2. MongoDB och fulltext sök del av ordet

  3. MongoDB 3.0.5-fel:fel i symbolsökning:odefinierad symbol:FIPS_mode_set

  4. Sök på flera samlingar i MongoDB