MSMQ导致Windows 8蓝屏

问题描述:

崩溃我使用Windows 8专业版,C#和.NET 4.5MSMQ导致Windows 8蓝屏

我使用MSMQ阅读或PEEK或远程计算机上发送消息,但它会导致操作系统蓝屏。 ..

本地没有问题,但只有当我试图通过代码访问与msmq的远程机器。

的代码工作完全XP下/七和服务器2012分之2008

这里是一个小例子:

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

messageQueue.Receive() => BSOD!!! 

难道有人有修复或解释?

谢谢,

亲切的问候。

+1

这似乎是一个相当严重的MSMQ漏洞......非特权用户级代码应该永远不会导致BSoD。 – nneonneo 2013-04-05 17:01:47

+0

蓝屏会很有帮助。 – 2013-04-25 13:41:42

我发现了!!!

MSMQ 4.0附带了Windows Server 2008,而且对于任何操作系统的最新更新默认情况下都使用ipv6。 因此,你必须停用IPV6以防止Windows下的BSOD 8 在其他操作系统中的事件,你必须停用它才能读取远程队列!

+0

没有理由启用IPv6 supoprt会导致崩溃。如果它启用了IPv6是导致蓝屏死机(我怀疑)它会发生在Windows 7和Windows Server 2008 R2和Windows Server 2012上。 – 2013-04-25 13:43:21

+0

嗨,事实是,当我激活我的Windows 8上的IPV6并阅读一个远程队列,它使我的电脑崩溃。 当我停用它时,它运行没有问题。 – dnx 2013-04-25 14:02:49

+0

没有BSOD错误代码,您不能排除崩溃是由于坏的驱动程序或其他原因,只能防止发生,因为IPv6。正如我指出的那样,该问题应该存在于Windows Server 2012中,但事实并非如此。 – 2013-04-25 15:00:08

如果你进入C:\ WINDOWS \转储

然后打开与“Windows调试工具”

,应该给更深入地了解问题的性质* .dmp文件。

+1

我从来没有使用过这个...我如何使用这些工具来查找错误? – dnx 2013-04-05 19:20:51

+0

所以你会去这里http://msdn.microsoft.com/en-us/windows/hardware/gg463009.aspx然后找到这个链接“作为独立组件安装调试工具(从Windows SDK)” – 2013-04-06 12:21:13

+0

并将其安装在您的特定OS的下载符号软件包上的同一页面中之后。一旦安装打开它。转到文件>>>打开崩溃转储并指向小型转储文件所在的位置,等待它加载和中提琴它应该让你了解什么样的驱动程序或问题导致问题。列出的驱动程序中有99.999%是cuplprit,另一个是.001%的时间,该驱动程序是其他问题的一个症状,但至少在排除故障时你有一个方向。 – 2013-04-06 12:21:36

dnx:你是说在远程机器上还是在你自己的本地机器上禁用ipv6?

+0

我停用了两个 – dnx 2013-04-25 14:04:24

+1

我在9月份收到了来自MS的修补程序(KB2840622)。对不起,延迟通知它在这里..热修复解决了这个问题.. http://support.microsoft.com/kb/2840622 – jha 2013-11-20 12:02:36

+0

@jha,感谢指向该修复程序,似乎解决了我的问题在Windows Server上的BSOD 2012。 – bigbearzhu 2015-04-14 04:57:15