2011-04-12 4 views
0

NServiceBus 2.0을 실행 중이고 전달 된 메시지를 수신하고 (RavenDB) 데이터베이스에 삭제하는 서비스를 만들려고합니다. 나는 NServiceBus가 IoC 컨테이너와 어떻게 작동하는지에 대해 확고한 이해를하지 못했다. (나는 전에 Spring을 사용하지 않았다.) 그래서 나는 잘못된 것을하고 있을지도 모른다.NServiceBus 속성이 삽입되지 않음

내 IWantToRunOnStartup 클래스에서 Store.Initialize()를 호출하는 곳에서 null 참조 예외가 발생합니다. 이 싱글 톤을 바르게 연결하고 있습니까? 설정 파일에서해야 할 일이 있습니까?

public class EndpointConfig : IConfigureThisEndpoint, AsA_Server, IWantCustomInitialization 
{ 
    private IMessageRepository _store; 

    public void Init() 
    { 
     _store = new RavenMessageRepository(); 

     Configure.With() 
      .DefaultBuilder() 
      .XmlSerializer() 
      .UnicastBus(); 

     Configure.Instance.Configurer.RegisterSingleton<IMessageRepository>(_store); 
    } 

} 

public class StartupConfig : IWantToRunAtStartup 
{ 
    public IMessageRepository Store; 

    public void Run() 
    { 
     Store.Initialize(); 
    } 

    public void Stop() 
    { 
    } 
} 

고맙다 -

+1

나는 당신이 당신의 Store 멤버를 get/set. 나는 이것을 확인하지는 못했지만, 컨테이너는 아마도 세터를 찾고있을 것이고 찾을 수 없을 것이다. –

+0

그랬어! 많은 감사합니다. –

답변

2

당신은 GET/세트 속성에 저장 멤버를 변경해야합니다 : 여기

는 코드입니다. 나는 이것을 확인하지는 못했지만 콘테이너는 아마도 setter를 찾고 그것을 찾을 수 없다. (다른 사람들이 답을 볼 수 있도록 다른 사람들이 그것을 볼 수 있도록)

관련 문제