为什么 Asp.net 5 (DNX) w3wp.exe 在 IIS 7.5 上崩溃

Why does Asp.net 5 (DNX) w3wp.exe crash on IIS 7.5

我的团队的 Asp.net 5 网络应用程序 (1.0.0-rc1-update1) 在 IIS 7.5 (Windows Server 2008 R2) 上 w3wp.exe 崩溃,重启 IIS 和在两个负载平衡实例的正常运行期间间歇性地。

这似乎与以下 github 问题中的错误相同。错误和故障信息几乎相同: https://github.com/aspnet/IISIntegration/issues/35

'w3wp.exe' (Win32): Loaded 'C:\Windows\System32\apphelp.dll'. Symbols loaded.
The thread 0x6f54 has exited with code 0 (0x0).
Unhandled exception at 0x000000007717298A (ntdll.dll) in w3wp.exe: 0xC000070A: Status 0x (parameters: 0xFFFFFFFFC0000008, 0x00000000000002F8, 0x00000000003E59F0, 0x000000000038A280, 0x000007FEF4CF88F4).

Exception thrown at 0x000007FEF4CF88F4 in w3wp.exe: 0xC0000005: Access violation executing location 0x000007FEF4CF88F4.

Unhandled exception at 0x000007FEF4CF88F4 in w3wp.exe: 0xC0000005: Access violation executing location 0x000007FEF4CF88F4.

The program '[4540] w3wp.exe' has exited with code 0 (0x0).

使用 Windows 2012 R2 的 IIS 8 不会出现此问题。这似乎是 IIS 7.5 与 8 的潜在 HttpPlatformHandler 或 DNX 稳定性问题。

其他人是否看到了这个问题?有没有人看到比升级 windows/iis 版本更容易解决此问题的方法?它似乎不是由我们的应用程序代码确定性触发的。 github 问题已经有一段时间没有更新了,不幸的是我们可能没有能力进行崩溃转储分析或进程调试。


回复:HttpPlatform 日志

我使用 webconfig 设置打开了 HttpPlatform 日志:

<httpPlatform processPath="..\approot\web.cmd" arguments="" stdoutLogEnabled="true" stdoutLogFile="..\logs\stdout.log" startupTimeLimit="3600"></httpPlatform>

启动在初始化时照常记录,但在重现崩溃时不记录错误:

Hosting environment: XXXXXX
Now listening on: http://localhost:XXXX
Application started. Press Ctrl+C to shut down.

我有同样的问题,它来自 aspnetcore.dll (https://github.com/aspnet/AspNetCoreModule) 中的错误,发生在 Windows(例如 7)和 IIS(7.5)的一些给定组合上例如)。您可以在 c:\windows\systemXXX.

的某处找到此模块

当我从 GitHub 开发分支获得最新版本时,它已为我修复。 我相信修复在更改列表中:https://github.com/aspnet/AspNetCoreModule/pull/59

该版本尚未正式发布,未打包到目前最新的7.1.1971版本的DLL中。