2013-08-29 1 views
1

Ninject가 이제 ValidationAttribute (https://github.com/ninject/ninject.web.mvc/wiki/Injection-of-validators)에 속성 주입을 활성화합니다. InRequestScope() 객체를 바인딩 할 때까지 멋지게 작동합니다.Ninject를 통해 ValidationAttribute에 InRequestScope 객체를 주입하면 오류가 발생합니다.

그래서 여기에 제가 생각하는 것이 있습니다. ValidationAttribute는 ASP.NET에서 싱글 톤으로 구현됩니다.

  1. Ninject는 처음으로 특성이 인스턴스화 될 때 주입 된 속성을 올바르게 채 웁니다.
  2. 현재 요청이 끝날 때 삽입 된 개체가 처리됩니다.
  3. 다음 요청시 삭제 된 속성에 액세스하면 삭제 된 오류가 발생합니다.

Ninject는 유효성 검사 속성이 결코 다시 인스턴스화되지 않기 때문에 주입 된 속성을 채우려 고 시도하지 않습니다.

의미가 있습니까? 누구든지 주위에 어떤 아이디어가 있습니까?

답변

2

맞습니다.

요청 범위에 실제로 종속성이 필요한 경우 의존성 자체 대신 종속성에 factory을 삽입하고 평가 중에 새로운 인스턴스를 가져 오는 데 사용해야합니다.

+0

내가 두려워했던 이유는 ... –

관련 문제