He probado recientemente Ninject
con la extensión , y he notado algo peculiar y, sin romper, confuso.Ninject y OnePerRequestModule
En la clase abstracta NinjectHttpApplication
, no es un constructor definido de la siguiente manera ..
/// <summary>
/// Initializes a new instance of the <see cref="NinjectHttpApplication"/> class.
/// </summary>
protected NinjectHttpApplication()
{
this.onePerRequestModule = new OnePerRequestModule();
this.onePerRequestModule.Init(this);
}
He colocado un punto de interrupción depurador aquí, y esto es llamado un par de veces. No puedo encontrar ninguna documentación real sobre eso. En el código de implementación, hay esta línea que me llama la atención.
if (kernel.Settings.Get("ReleaseScopeAtRequestEnd", true))
{
OnePerRequestModule.StartManaging(kernel);
}
Mis preguntas son las siguientes ...
- ¿Cuál es
OnePerRequestModule
- ¿Por qué es este constructor ser llamado varias veces?
- ¿Cuál es el propósito de este método
StartManaging
, si se llama al constructor varias veces?
relacionado: http://stackoverflow.com/questions/15778324/do-i-need-to-register-ninject-oneperrequestmodule-with-ninject-web-mvc-3-0/15786866# –