2012-01-31 3 views
4

Windows 서버 2003 32 비트에서 NServiceBus 2.6.0.1504를 사용 중입니다. 로그 파일이 생성null을 반환하는 NServiceBus "CreateBus()"null

모든 것이 최대 유선지고 있음을 나타냅니다 만, 어떤 이유로, "CreateBus()는"null를 돌려줍니다. 내 디버깅 코드 무시 :

 SetLoggingLibrary.Log4Net(log4net.Config.XmlConfigurator.Configure); 

     var one = Configure.With(typeFinder.GetAssemblies()); 
     var two = one.DefaultBuilder(); 
     var three = two.MsmqSubscriptionStorage(); 
     var four = three.XmlSerializer(); 
     var five = four.MsmqTransport(); 
     var six = five.IsTransactional(false); 
     var seven = six.PurgeOnStartup(true); 
     var eight = seven.UnicastBus(); 
     var nine = eight.LoadMessageHandlers(); 
     var ten = nine.ImpersonateSender(false); 
     var eleven = ten.CreateBus(); 
     if (eleven == null) 
      throw new Exception("createbus"); 
     var twelve = eleven.Start(); 

"createbus"메시지 예외가 항상 발생합니다. 이것은 내 dev에 상자에서 작동

의 Windows Server 2008 R2 64 비트입니다.

다음은 웹 앱의 설정입니다.

<MsmqSubscriptionStorageConfig Queue="MedXChangeSubcriptions" /> 
    <MsmqTransportConfig InputQueue="MedXChangeForms" ErrorQueue="error" NumberOfWorkerThreads="1" MaxRetries="5" /> 
    <UnicastBusConfig> 
    <MessageEndpointMappings> 
     <add Messages="MethodFactory.MedXChange.Library" Endpoint="MedXChangeWeb" /> 
    </MessageEndpointMappings> 
    </UnicastBusConfig> 

아이디어가 있으십니까? 어떤 도움이라도 대단히 감사하겠습니다.

+0

전체 예외를 추가 할 수 있습니까? .NET 3.5 또는 .NET 4.0 버전을 실행하고 있습니까? –

+0

예외가 발생하지 않습니다. 그냥 null을 반환합니다. .NET 4.0 –

+0

어떤 타입의 타입 찾기가 있습니까? 필요한 모든 NSB 어셈블리가 포함되어 있습니까? –

답변

0

NServiceBus 것이다 return null if a bus has already been created. 그래서 누군가가 이미 당신을위한 버스를 인스턴스화하는지 확인하십시오. 내 시나리오에서

, 우리는 일관성 엔드 포인트 구성을 정의했다. 한 프로세스에서 IConfigureThisEndpoint을 구현 한 다음 버스를 명시 적으로 구성하고 인스턴스화합니다. 다른 프로세스에서 우리는 AsA_Publisher에서 상속받습니다. 암시 적으로은 버스를 생성합니다. 이 다른 프로세스에 대한 버스 구성을 명시 적으로 정의해야 할 때 NullReferenceException을 유창한 CreateBus 메쏘드에 던졌습니다. AsA_Publisher 상속을 제거하면 문제가 해결되었습니다.

희망이 도움이됩니다.

관련 문제