MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Norm.MongoException:Времето за изчакване на връзката се опитва да получи връзка от пула на връзките

Вини,

Никога не съм използвал Ninject, така че може да съм далеч от това предложение. Но изглежда възможно наличието на статичен екземпляр на MongoSession да държи връзките отворени. Опитвали ли сте TransientBehavior вместо SingletonBehavior? Или може би да промените кода си, за да извикате Dispose (или да използвате using), след като преобразувате вашите ShortcutLinks в списък? Всички

var shortcutLionks = _session.All<ShortcutLinks>().ToList();
_session.Dispose();

По-добър подход може да бъде използването на някакъв вид хранилище или DAO, където подробностите за сесията са скрити от контролера. Имам пример за RepositoryBase на http:/ /www.codevoyeur.com/Articles/20/A-NoRM-MongoDB-Repository-Base-Class.aspx .

Stuart Harris има подобна, може би по-пълна реализация в http://red-badger.com/Blog/post/A-simple-IRepository3cT3e-implementation-for-MongoDB-and-NoRM.aspx

Обединените връзки към MongoDB са сравнително евтини за създаване, така че вероятно е най-добре да се уверите, че методите за достъп до данни се изхвърлят, след като приключите с получаването/запазването на данни.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB:Компромиси от премахване на колекция срещу премахване на всички нейни документи

  2. Свържете се с Kubernetes mongo db в различно пространство от имена

  3. Общи стойности от всички ключове в поддокумента

  4. OData - Странен индекс с MongoDB [Mongoose:Cast Error]

  5. mongodb php получаване на уникални стойности на полета