2009-12-17 4 views
1

mvc 터빈 (Unity 사용)에서 내 서비스 수명을 어떻게 관리 할 수 ​​있습니까?mvc 터빈의 평생 관리?

IConfigurationService 및 ILoggerService를 사용하는 ISearchService 구현 LuceneSearchService가 있습니다.

현재 내 searchservice 등록은 다음과 같습니다

public class SearchServiceRegistration: IServiceRegistration 
{ 
    public void Register(IServiceLocator locator) 
    { 
     locator.Register<ISearchService, LuceneSearchService>(); 
    } 
} 

내가 터빈의 인스턴스를 생성하는 책임을 계속하고 싶습니다,하지만 난 그게 싱글 싶어요.

또는 다른 말로하면 수명을 어떻게 정의 할 수 있습니까?

답변

1

현재 터빈 비트는 컨테이너에 가장 적합한 작업이라고 판단하여 수명 관리를 허용하지 않습니다. HACK to expose your specific SL within your registration

: 당신이 뭔가를 할 수 있습니다 IServiceRegistration 구현 내에서 사용하여 컨테이너를 노출과 OK 경우 Injecting Your Favorite IoC Into MVC Turbine

: 당신이 관심이 있다면, 당신은 내가이 블로그 게시물에 정의 어떤 식으로 뭔가를 사용할 수 있습니다

평생 관리의 필요성에 대한 요청이 많으면 터빈 V3에 추가 할 예정입니다.

+0

감사합니다. 그 동안 컨테이너를 직접 만들 수 있다는 것을 알게되었습니다. 그러나 컨테이너를 만들 때 자동 검색 기능이없는 다른 서비스가 필요하므로 이제는 전체 등록을 직접해야합니다. 어느 쪽이 어리 석다. V3 기대 : D 또한 터빈에 감사드립니다. 마침내 나는 지금 몇 달 동안 파악하려고했던 개념이 마음에 들었습니다. –

+0

성명을 따르지 않았을 것 같습니다. "내 서비스는 내 컨테이너를 만들 때 자동 검색되지 않는 다른 서비스를 필요로합니다. 전체 등록. " 무엇을하려고합니까? 일반적으로 노출 된 IServiceLocator를 사용하면 일시적이며 응용 프로그램 내에 간단한 등록이 필요한 서비스를 등록 할 수 있습니다. 자신 만의 컨테이너를 제공하는 것은 더 복잡한 등록을위한 것입니다. 물어볼 필요가 없다면 어떤 컨테이너를 사용하고 있습니까? –