약간의 배경 : 내가 SimpleInjector
을 선택 DI로 사용하는 AspnetCore 응용 프로그램에 FluentValidation
을 통합하기 시작했습니다. ASPNET 워드 프로세서AspnetCore에 IServiceCollection과 함께 제 3 자 컨테이너를 등록하는 것이 잘못입니까?
에 따르면는 "ConfigureServices 방법은 일반적으로 무효 반환하지만 그 서명 IServiceProvider, 구성 할 수있는 다른 컨테이너를 반환하도록 변경 및 반환되는 경우"
이 모두 잘 내가 광산이 아닌 서비스를 구성 할 필요가 있다는 것을 알기 전까지는 좋은 일이었습니다. 따라서이 예제에서는 containerBuilder.Populate(services);
을 사용합니다. FluentValidation
에 대한 좋은 점은 내 유효성 검사기를 해결하기 위해 내 IValidatorFactory
을 만들 수 있다는 것입니다. 내 유효성 검사기가 SimpleInjector에 등록 되었기 때문에 내 문제가 발생한 곳이 아닌데, 기본 컨테이너가없는 것으로 생각했습니다. 나는이 두통을 해결하기 위해 방법으로 컨테이너를 반환하는 대신 container
을 IServiceCollection
에 등록하고 IValidatorFactory
에 IServiceProvider
으로 삽입하여이 두통을 해결할 수 있다고 생각했습니다. 해킹처럼 작동하는 것처럼 보이지만 갈 길이 멀어? aspnet 문서 위키 외에 다른 방법이 있습니까?
https://docs.asp.net/en/latest/fundamentals/dependency-injection.html
문제에 대한 기술적 인 견해보다는 정치적 입장을 취하는 것이 실망 스럽습니다. 당신은 항상 독창적 인 소프트웨어를 만들었지 만 당신이 승인하지 않은 인기있는 일을하기위한 도구를 우리에게 항상주었습니다. 이것은 일을하는 전통적인 방식에서 벗어난 것처럼 보입니다. 솔직히 말해서 매우 실망 스럽습니다. 덕분에 –
. 요즘 필자는'SimpleInjector'를 내 프로젝트에 가져 왔고 필요할 경우 코드 용 어댑터를 만들었습니다. 나는 제 3 자 부품을 놓친 것 같아요! –
@ErikFunkenbusch 시간을내어 참조 자료를 자세히 읽고 해당 기사에서 링크 된 자료를 읽어보십시오. 그 후에 이것이 정치적 입장이 아니라 사실 기술적 인 것임을 알게 될 것입니다. Simple Injector는 Microsoft가 제안한 것처럼 Comforming Container의 세계에 기술적 인 이유로 적합하지 않습니다. – Steven