2014-10-17 3 views
2

내 Nancy 모듈 외부의 특정 로직을 수행하는 "서비스"클래스가 있습니다. 서비스 클래스는 컨테이너에 등록되어 있으므로 컨스트럭터 주입을 통해 모듈의 인스턴스에 액세스 할 수 있습니다. 내 클래스가 NanyContext에 의존하는 경우 모듈 외부에서 어떻게 액세스 할 수 있습니까?모듈 외부의 NancyContext에 액세스하십시오.

답변

3

NancyContext은 요청 당 생성되므로 서비스의 범위가 요청보다 길지 않은 경우에만 종속성을 가져야합니다. 그렇지 않으면 NancyContext을 서비스 요청 메소드 호출과 함께 전달해야합니다.

서비스 범위를 요청하는 경우 당신이 작성하고 BootstrapperConfigureRequestContainer에 등록 수 :

public class Bootstrapper : DefaultNancyBootstrapper 
{ 
    protected override void ConfigureRequestContainer(TinyIoCContainer container, NancyContext context) 
    { 
     var service = new Service(context); 
     container.Register(service); 
     base.ConfigureRequestContainer(container, context); 
    } 
} 
+0

내가이'container.Register (컨텍스트)를 사용할 수 있습니다;'? –

+0

예, 가능합니다. –

+0

하지만 나는 그렇게 할 수없는 것 같습니다. 오류가 발생했습니다. 마지막으로,'NancyContext'를'MyContext'로 감싸고,'MyContext'의 헬퍼 함수를 ​​노출합니다. 그것은 나를 위해 좋다. 감사! –