autofac과 MVC를 함께 사용하면 뷰 모델을 자동으로 확인할 수 있습니다. 비록 그것이 해결 된 후에 모든보기 모델에 대해 Initializable 메서드를 호출해야하는 문제가 있지만 이것은 잘 작동합니다.간단한 ctor 후 MVC 매개 변수를 바인딩 한 후 초기화 호출
나는이 문제를 Autofac 내에서 OnActivated 메소드에 연결하는 것으로 해결했습니다.
유일한 문제는 MVC가 해당 매개 변수를 뷰 모델 내의 속성에 바인딩하기 전에 Initialize 메서드가 호출되어 부분 초기화가 발생한다는 것입니다.
MVS 바인딩 외부에 뷰 모델을 만들면 초기화를 호출하지 않아도되지만 사용자 정의 ModelBinder의 내 OnModelUpdated 재정의에서 초기화 (Autofac에서 제거)를 초기화하여이 문제를 해결할 수 있습니다.
내가 볼 수있는 유일한 해결책은 Autofac (OnActivated)과 내 모델 바인더 (OnModelUpdated)의 두 곳에서 모두 사용할 수 있다는 것입니다. 이것은 엄청난 성능을 발휘할 것입니다.
동작 메서드에서 Initialize를 호출하는 첫 번째 해결 방법은 단순하지만 모든 개발자가 해당 메서드를 호출해야한다는 것을 기억해야하기 때문에 실용적이지 않습니다. – Ruskin
MVC 모델 바인딩을 재정의하고 싶지는 않지만 두 번째 솔루션은 물을 보유 할 수도 있습니다. Initialize 메서드가 호출되기 전에 발생하는지 확인하고 싶습니다. – Ruskin
그것은 잘하면 귀하의 요구에 적합 작동합니다. 상대방의 포인트가 충분하다면 나는 당신의 질문에 투표 할 것입니다. – acarter