Ninject кэширует введенный DataContext? Управление жизненным циклом?

В моих репозиториях возникла серия очень причудливых ошибок. Строка не найдена или не изменена, не удалось выполнить 1 из 2 обновлений ... Ничего не имело смысла.

Это было так, как будто мой экземпляр DataContext кэшировался ... Ничего не имело смысла, и я рассматривал возможность карьерного роста.

Затем я заметил, что экземпляр DataContext был передан с использованием инъекции зависимостей с использованием Ninject (это впервые использовал DI ...). Я вырвал инъекцию зависимостей, и все вернулось в норму. Мгновенно.

Итак, проблема заключалась в внедрении зависимостей, но я до сих пор не знаю почему. Я предполагаю, что Ninject кэшировал введенный DataContext.

Это правильно?

Изменить:

Привязка Ninject выглядит следующим образом:

Bind<IPupilBlockService>().To<SqlPupilBlockService>()
   .WithConstructorArgument("db", new dbDataContext());
5
задан awrigley 23 December 2010 в 09:10
поделиться