我正在开发一个网站。它是一个使用.net Framework 4.6.2的MVC5 Web应用程序。 我们有一个在Windows Server 2016上运行的编译服务器,它已安装vsbuild工具2017。
已编译的站点在我的环境,测试环境以及全新安装的Windows vm中均能完美运行,但是在生产环境中,对该站点的第一个请求将返回503错误代码,并且应用程序池会自动关闭。我检查了事件查看器,并发现了一个ID为5009的事件:为应用程序池x提供服务的进程与Windows进程激活服务发生致命的通信错误。
在任何其他环境中,编译后的站点都不会出现该问题
如果我使用Muy自己的Visual Studio 2017发行版中的网站,该问题也不会在生产环境中重现。
有什么建议吗?
添加一些信息:我已经用DebugDiag2捕获了一个崩溃转储,这就是我认为这是日志的相关部分:
EXCEPTION DETAILS
DetailID = 1
Count: 10
Exception #: 0XE06D7363
Stack: [NO STACK HERE]
DetailID = 2
Count: 1
Type: System.String
Message: NOT_FOUND
Type: NOT_FOUND
Message: NOT_FOUND
Stack: [LONG STACK HERE]
DetailID = 3
Count: 1
Exception #: 0XC0000409
Stack: [NO STACK HERE]
EXCEPTION SUMMARY
10 | 0XE06D7363
1 | System.String
1 | 0XC0000409
我还从该工具请求了转储analisys,以下是摘要: 在dumpfilename.dmp中,来自Microsoft Corp.的C:\ Program Files \ Microsoft监视代理程序\ Agent \ APMDOTNETAgent \ V8.0.10918.0 \ PerfMon.dll中的PerfMon!_invoke_watson + e处的汇编指令导致了一个未知异常(0xc0000409)线程10
而且,在转储analisys的第一部分中,我发现了一个非常奇怪的东西:它说:操作系统= Windows Server 2012(这很严格),处理器类型:X86(对我来说这很奇怪,因为就我而言知道没有用于x86的Win2012)
我什至不知道从哪里开始=(