Ручная утилизация не работает при использовании NInject RequestScope - PullRequest
1 голос
/ 12 августа 2011

Я использую RequestScope из NInject в моем приложении

   Bind<ITestClass>().To<TestClass>().InRequestScope();

Но когда я вызвал метод dispose для этого класса, вызовы метода и код, который был написан в вызовах метода (я проверяю его с помощью точки останова)но сам объект не был дипозированным, я думаю, область действия Ninject Request как-то связана с ним, поскольку он прекрасно работает, когда я не использовал RequestScope.

  Kernel.Get<ITestClass>().Dispose();

1 Ответ

0 голосов
/ 12 августа 2011

В то время как Ninject pre-2.4 имеет детерминированное удаление для приложений ASP.NET, InRequestScope не делает то, на что вы могли бы надеяться, что это будет сделано в контексте запроса WCF-Only (в отличие от запуска WCF в 'раскрутить HttpRequest для каждого режима работы WCF).

@ Remo Gloor, без сомнения, свяжется для уточнения.


Можете ли вы указать, где вы получаете / как вы строите / каков ваш точный номер сборки для ваших вещей Ninject. Также, пожалуйста, предоставьте более подробную информацию о том, как вы делаете свою интеграцию в WCF - вы следуете образцу? Вы подключаетесь к ServiceHostFactory, предоставленной Ninject? Если вы можете предоставить такие подробности, это позволит людям, отвечающим на вопрос, определить, какие предположения вы могли бы сделать, и учесть это при получении ответа. Если я не увижу никаких доказательств этого в следующий раз, я не буду комментировать или отвечать на любые ваши вопросы. (И отсутствие ответа на комментарии к другим сообщениям также не побуждает людей хотеть помочь вам.)

Пожалуйста, приложите больше усилий, чтобы предоставить существенные детали и дать людям возможность ответить на ваши вопросы в первый раз, не гоняясь за подробностями. Это случалось слишком много раз. Я за то, чтобы держать вопрос на хорошем счету TL; DR, но просто сделайте резюме и подробный блок.

...