사용자 정의 범위 라이프 스타일을 추가 할 수 있도록 custom Scope Accessor (DefaultLifetimeScope를 반환 함)을 만들었습니다. 구성 요소는 다음Castle Windsor의 특정 Custom Scoped 라이프 스타일을 "BeginScope"하는 방법은 무엇입니까?
Component
.For<..>
.LifestyleScoped<CustomScope>()
그러나, 나는 실제로 새로운 CustomScope 범위/수명 시작 하는 방법으로 딱하다로 등록됩니다. The documentation shows는
using (Container.BeginScope()) {
// ..
}
을 사용하여 새 범위를 시작하지만 내 목표는 일반적인 LifestyleScoped()
등록을위한 특정 범위가 아닌 것을 생성/시작/시작하는 것입니다. 새 범위는 CustomScope에 명시 적으로 등록 된 구성 요소에만 영향을 주어야합니다. 다른 범위의 라이프 스타일에 대해 등록 된 일반 범위 구성 요소 또는 구성 요소가 아닙니다.
(내 사용자 정의 범위) 스코프/수명을 시작하는 프로세스는 무엇입니까?
관련 문서로 링크하십시오. 내가 쉽게 찾을 수 없기 때문에 내가 묻고있는 것처럼. 이 코드는 Castle Windsor 3.3을 사용하고 있습니다.
배경 :
내가 Autofac에서 오는 오전과 EF 컨텍스트를 통해 UOW를 구축하는 Instance Per Matching Lifetime Scope에 해당 찾고 있어요. 요청 당 여러 개의 UoW가있을 수 있으며 여러 저장소에 대해 서로 다른 UoW가있을 수 있습니다. 향후 중첩을 지원할 수도 있습니다.
UoW 패턴을 만드는 것에 관한 수많은 기사가 있지만 HTTP 또는 WFC 요청과 같은 일부 컨텍스트에는 [모든] 묶여 있습니다 (잘못, IMOHO) -이 질문에 관한 내용이 아닙니다. 나는 콜 그래프를 통해 흐르고 사용자 블록을 사용하는 사용자 정의 범위를 시작하는 방법에 특히 관심이 있습니다.
참고 :
BoundTo()
(및 LifestyleBoundTo()
/LifestyleBoundToNearest()
) 라이프 스타일 객체 그래프에 대해 작동 (및 형태를 변경해야 함) 등으로 전환하면 엄격이 문제에 대한 해결책/않음 아니다. 그러나 좋은 사례가 그들에게 만들어 질 수 있다면 ..