2013-04-05 13 views
7

Używam systemu Windows 8 Pro, C# i .NET 4.5MSMQ powoduje Windows 8 do zderzenia z BSOD

Używam MSMQ do odczytu lub peek lub wysłać wiadomość na zdalnej maszynie, ale to powoduje, że system operacyjny BSOD. ..

Lokalnie nie ma problemu, ale tylko wtedy, gdy próbuję uzyskać dostęp do zdalnego komputera z msmq przez kod.

Kod działa doskonale pod XP/Server 2008/2012 i Seven

Oto mały przykład:

var messageQueue = new MessageQueue(string.Concat("FormatName:DIRECT=", addressType, ":", _queueServer, @"\private$\", _queueName), false, false, QueueAccessMode.Receive); 

messageQueue.Receive() => BSOD!!! 

Czy ktoś ma poprawkę lub wyjaśnienie?

Dziękujemy,

Pozdrawiam.

+1

To wydaje się raczej poważnym błędem w MSMQ ... Nieuprzywilejowany kod użytkownika nie powinien nigdy być w stanie spowodować BSoD. – nneonneo

+0

BSOD byłby pomocny. –

Odpowiedz

0

Znalazłem !!!

Program MSMQ 4.0 zawiera serwer Windows 2008, a ostatnia aktualizacja dla dowolnego systemu operacyjnego domyślnie korzysta z protokołu IPv6. Musisz więc dezaktywować IPV6, aby uniemożliwić BSOD pod Windows 8 Zdarzenie w innym systemie operacyjnym, musisz go dezaktywować, aby odczytać zdalną kolejkę!

+0

Nie ma powodu, dla którego włączenie supprt IPv6 mogłoby spowodować awarię. Jeśli włączono IPv6 było przyczyną BSOD (w co wątpię) miałoby to miejsce w Windows 7 i Windows Server 2008 R2 i Windows Server 2012. –

+0

Witam, faktem jest, że kiedy aktywuję IPV6 na moim Windows 8 i czytać zdalna kolejka, to powoduje awarię mojego komputera. A kiedy go dezaktywuję, działa bez problemów. – dnx

+0

Bez kodu błędu BSOD nie można wykluczyć awarii spowodowanej złym sterownikiem lub z innego powodu, któremu tylko przeszkadza się, ponieważ IPv6. Jak wskazałem, problem powinien istnieć w systemie Windows Server 2012, ale tak nie jest. –

2

Jeśli pójdziesz do katalogu C: \ Windows \ Minidump

następnie otwórz plik * dmp z „narzędzi debugowania systemu Windows”

że powinno dać lepszy wgląd w naturę problemu.

+1

Nigdy nie użyłem tego ... Jak mogę użyć tego narzędzia, aby znaleźć błąd ?! – dnx

+0

Przejdź tutaj http://msdn.microsoft.com/en-us/windows/hardware/gg463009.aspx Następnie wyszukaj ten link "Zainstaluj narzędzia do debugowania dla systemu Windows jako samodzielny składnik (z zestawu Windows SDK)" –

+0

i po zainstalowaniu go na tej samej stronie powyżej pakietu symboli pobierania dla określonego systemu operacyjnego. Po zainstalowaniu otwórz go. przejdź do pliku >>> otwórz zrzut awaryjny i wskaż, gdzie znajduje się plik minizrzutu, poczekaj chwilę, aż się załaduje, a altówka powinna dać ci pojęcie, jaki sterownik lub problem powoduje problem. 99,999% czasu, w którym wymieniony sterownik jest upostaciowany, a drugi 0,001% przypadków, że kierowca zawiódł jako symptom czegoś innego, ale przynajmniej masz kierunek, w którym możesz rozwiązać problem. –

0

dnx: Czy chodzi o wyłączenie ipv6 na komputerze zdalnym lub na komputerze lokalnym?

+0

i dezaktywować na obu – dnx

+1

otrzymałem poprawkę (KB2840622) od MS we wrześniu. Przepraszamy za opóźnienie, informując o tym tutaj .. Poprawka rozwiązała problem .. http://support.microsoft.com/kb/2840622 – jha

+0

@jha, dziękuję za wskazanie poprawki, wydaje się, że poprawiam mój problem BSOD na Windows Server 2012. – bigbearzhu