2013-11-27 15 views
8

Podczas uruchamiania MassTransit w ASP.NET. NullReferenceException jest wyrzucane, a za emisję zgłaszane tutaj: Google Discussion GroupMassTransit NullReferenceException w ThreadPoolConsumerPool

istotne szczegóły
Czy ktoś wie, jak bezpiecznie złapać wyjątek, gdy ładuje AppDomain?

Ślad stosu tylko idzie tak daleko, jak DLL MassTransit:

NullReferenceException in ThreadPoolConsumerPool 

Locating source for 'd:\BuildAgent-03\work\8d1373c869590c5b\src\MassTransit\Threading\ThreadPoolConsumerPool.cs'. (No checksum.) 
The file 'd:\BuildAgent-03\work\8d1373c869590c5b\src\MassTransit\Threading\ThreadPoolConsumerPool.cs' does not exist. 
Looking in script documents for 'd:\BuildAgent-03\work\8d1373c869590c5b\src\MassTransit\Threading\ThreadPoolConsumerPool.cs'... 
Looking in the projects for 'd:\BuildAgent-03\work\8d1373c869590c5b\src\MassTransit\Threading\ThreadPoolConsumerPool.cs'. 
The file was not found in a project. 
Looking in directory 'C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\crt\src\'... 
Looking in directory 'C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\atlmfc\src\mfc\'... 
Looking in directory 'C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\atlmfc\src\atl\'... 
Looking in directory 'C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\atlmfc\include\'... 
The debug source files settings for the active solution indicate that the debugger will not ask the user to find the file: d:\BuildAgent-03\work\8d1373c869590c5b\src\MassTransit\Threading\ThreadPoolConsumerPool.cs. 
The debugger could not locate the source file 'd:\BuildAgent-03\work\8d1373c869590c5b\src\MassTransit\Threading\ThreadPoolConsumerPool.cs'. 
+1

Możesz dodać odpowiednie części dyskusji tutaj. Odpowiedzi dotyczące tylko linków nie pasują do tej witryny i nie uważam, że pytania dotyczące linków są znacznie lepsze. – nvoigt

+1

nvoigt - Dodałem odpowiedni szczegół – Paul

+0

To tylko podejrzenie, ale myślę, że Mass Transit zakłóca pulę wątków roboczych ASP.NET używa do obsługi żądań. Mieliśmy podobny problem z wywoływaniem usług sieciowych z aplikacji ASP.NET z asynchronicznymi delegatami - przy dużym obciążeniu pula została ostatecznie wyczerpana, a wydajność była straszna. Czy dzieje się to pod dużym obciążeniem czy zawsze? –

Odpowiedz

1

powinieneś być w stanie złapać żadnego przechwycony wyjątek w global.asax: http://msdn.microsoft.com/en-us/library/24395wz3(v=vs.100).aspx

zaimplementować obsługi błędów:

void Application_Error(object sender, EventArgs e) 

i oznaczyć wyjątek jako obsługiwany:

Server.ClearError(); 
+0

Próbowałem już tego i nie uruchamia się – Paul

+0

Jeśli opublikujesz cały ślad stosu, może to pokaże, że wyjątek ma miejsce, zanim Aplikacja otrzyma szansę na poprawienie obsługi błędu . W takim przypadku możesz być w stanie opóźnić inicjalizację MT do czasu, gdy aplikacja będzie miała możliwość konfiguracji. –

+0

Nie, aplikacja zdecydowanie przeszła przez aplikację_start_start i była uruchomiona przez znaczny okres za każdym razem, gdy to wystąpi. – Paul

Powiązane problemy