최근에 Ninject.Web.Mvc
확장자를 사용하여 Ninject
을 시험해 보았습니다. 특히 혼란스럽지 않고 독특한 것을 발견했습니다. 다음과 같이 NinjectHttpApplication
추상 클래스에서Ninject 및 OnePerRequestModule
, 나는 여기에 디버거 중단 점을 배치 한
/// <summary>
/// Initializes a new instance of the <see cref="NinjectHttpApplication"/> class.
/// </summary>
protected NinjectHttpApplication()
{
this.onePerRequestModule = new OnePerRequestModule();
this.onePerRequestModule.Init(this);
}
.. 정의 된 생성자가있다, 이것은 몇 번 호출됩니다. 그것에 대한 실제 문서를 찾을 수 없습니다. 구현 코드에는 내 눈을 사로 잡는 선이 있습니다. 다음과 같이
if (kernel.Settings.Get("ReleaseScopeAtRequestEnd", true))
{
OnePerRequestModule.StartManaging(kernel);
}
내 질문
는OnePerRequestModule
- 왜이 생성자가 호출되는 여러 번 무엇 ...인가?
- 생성자가 여러 번 호출되는 경우이
StartManaging
메서드의 목적은 무엇입니까?OnePerRequestModule
관련 : http://stackoverflow.com/questions/15778324/do-i-need-to-register-ninject-oneperrequestmodule-with-ninject-web-mvc-3-0/15786866# –