다양한 사용자 인터페이스 응용 프로그램이 추가되는 중앙 집중식 StructureMap 구성이 있습니다. 나는 "코어"설정을 수정할 필요가 없었습니다. 특정 응용 프로그램의 핵심 구성을 수정/제거해야하는 경우가 있습니다. 물론 코어 구성 코드를 다른 응용 프로그램으로 옮길 수는 있습니다.하지만 그렇게하기 전에 StructureMap API를 통해 확실한 것을 놓치지 않았는지 확인하고 싶었습니다. 아래는 내 핵심 구성의 축약 버전이 : 나는 IValidationRule
을 폐쇄 유형에 대한 구성을 제거하기 좋아하지만, 가능한 아무것도 들고 오지 아직 것이 하나의 응용 프로그램에 대한 런타임에서이전에 구성된 StructureMap 구성을 어떻게 수정할 수 있습니까?
ObjectFactory.Initialize(cfg =>
{
cfg.Scan(scan =>
{
scan.Assembly("Core");
scan.WithDefaultConventions();
scan.ConnectImplementationsToTypesClosing(typeof(IValidationRule<>));
// more after this....
}
}
. 이젝션 방법은 모두 싱글 톤 (singleton) 의미를 중심으로하는 것처럼 보입니다. 나는 싱글 다루고 있지 않다 때문에 다음은 작동하지 않습니다 내가 IValidationRule
초 동안 보이지 내 StructureMap 구성을 수정할 수있는 방법은
ObjectFactory.Model.For(typeof(IValidationRule<>)).EjectAndRemoveAll(); //no work
ObjectFactory.Model.EjectAndRemove(typeof(IValidationRule<>)); //nor does this
있습니까? IValidationRule
s의 non-singleton 인스턴스를 추출 할 수 있습니까? StructureMap 구성을 수정하기위한 다른 옵션이 있습니까?
ObjectFactory가 더 이상 사용되지 않는 StructureMap3에서 이와 같은 기능을 사용할 수 있습니까? – rexdefuror