2011-09-18 70 views
0

我一直有无尽的困境,试图部署NServiceBus应用程序,我怀疑是由于遗留代码/应用程序池问题,所以今天我已经建立了一个完整的使用Windows 7 x64(SP1)清理虚拟机,安装Visual Studio 2008和最新的[NServiceBus 2.6.1504][1]二进制文件,我看到完全相同的问题。我解开了ZIP文件的阻塞,完成了RunMeFirst.bat的工作,并且使用NServiceBus提供的.NET 3.5 AsyncPages示例来重现此问题。w3wp进程崩溃与NServiceBus AsyncPages示例在Windows 7 x64

首先,当我在Visual Studio下运行服务器和WebApplication1示例时,它工作正常。

当我尝试在IIS下运行WebApplication1示例时,会发生此问题。我所做的只是进入IIS管理器,右键单击默认网站,然后将物理目录更改为NServiceBus发行版中的WebApplication1文件夹。

Default.aspx页面加载OK和显示:

在下面输入一个号码,然后点击 “开始”。

如果数字是偶数,结果将是“失败”,否则将是“无”。

...但是当我输入任何形式的输入并点击“开始”时,它都会出错。

该正在运行的服务器的NServiceBus.host.exe过程中产生的输出:

2011-09-19 00:31:23623 [Worker.5] INFO NServiceBus.Unicast.UnicastBus [(空) ] <(null)> - 收到的消息Messages.Command,Messages,Version = 1.0.0.0,Cultur e = neutral,PublicKeyToken = null,ID为77ae75b7-ffad-4025-8163-13a83c60db91 \ 41 f rom sender MyWebClient @ WIN7-VM

2011-09-19 00:31:23,632 [Worker.5]信息NServiceBus.Unicast.UnicastBus [(null)] <(null)> - 无法模拟,因为在传入的 消息中没有指定Windows标识。这在互操作场景中很常见。

(这是所有绿色这表明它不是什么可担心的...?)

然后我得到的Windows事件日志两条消息:

Log Name:  System 
Source:  Microsoft-Windows-WAS 
Date:   19/09/2011 00:31:20 
Event ID:  5011 
Task Category: None 
Level:   Warning 
Keywords:  Classic 
User:   N/A 
Computer:  Win7-VM 
Description: A process serving application pool 'DefaultAppPool' suffered a fatal communication error with the Windows Process Activation Service. The process id was '3360'. The data field contains the error number. 

还有那么另一相同的消息与不同的进程ID,然后我得到​​。

点击“刷新”只会产生完全相同的行为 - 两个NServiceBus日志消息,Windows事件日志中的两个错误,然后是“连接中断”消息。

这是一个完全干净的安装,直接运行NServiceBus网站的二进制文件,所以我不知道为什么它不工作 - 我偶然发现了一个不受支持的场景或什么?任何帮助非常感谢。

+0

不知道这是否会有所帮助,但是我曾经遇到过类似的问题,前段时间WAS在记录异常,抱怨错误队列不存在,尽管它确实存在。它并没有阻止nsb工作,只是在事件日志中发出了很多噪音。禁用net.msmq侦听器适配器后,错误消失。 – stephenl

回答

4

好的......看起来这是由于消息队列的权限。

我发现了Jonathan Oliver的this post,它正好解决了我所遇到的问题,并链接到this post,该链接详细介绍了导致它的原因。长话短说 - 如果运行您的Web应用程序的帐户没有写入消息队列的权限,那么w3wp.exe只会崩溃。其中确实吸收作为诊断援助,但这就是它是如何。

Windows 7中的消息队列权限通过计算机管理 - >服务和应用程序 - >消息队列进行管理;我找到了合适的队列,让IIS应用程序池的用户(NETWORK SERVICE)“完全控制”,并重新启动了IIS和NServiceBus服务器主机,并突然开始工作。

+0

感谢您的回答,这真的帮了我。我的应用程序一直在崩溃应用程序池和调试诊断或过程监视器没有任何帮助。 –