我在尝试使用 Visual Studio Professional 2015 启动 IIS Express 以在 Windows 10 上运行 ASP.NET 5 MVC 6 Web 应用程序 - DNX RC1(更新 2)时遇到以下问题:
返回错误:
HTTP 错误 502.3 - 网关错误
指定的 CGI 应用程序遇到错误,服务器终止了进程。
最可能的原因:
- CGI 应用程序没有返回一组有效的 HTTP 错误。
- 由于父网关中的错误,充当代理或网关的服务器无法处理请求。
详细错误信息:
- 模块:httpPlatformHandler
- 通知:ExecuteRequestHandler
- 处理程序:httpPlatformHandler
- 错误代码:0x80072ee2
奇怪的是,我在不同的操作系统(Windows 7)和 IDE(Visual Studio Community 2015)中启动了同一个 Web 应用程序。对于这种情况,我没有任何问题,并且 Web 应用程序可以正常运行。而且我确保在两个操作系统(6.0.0-rc1-final)上将相同的 DNX 配置为活动状态。唯一不同的是框架架构(Windows 7 =[x64] / Windows 10 =[x86])。
下面我还提供了相关的配置文件来补充调查结果:
1.项目.json
{
"version": "1.0.0-*",
"compilationOptions": {
"emitEntryPoint": true
},
"dependencies": {
"Microsoft.AspNet.IISPlatformHandler": "1.0.0-rc1-final",
"Microsoft.AspNet.Mvc": "6.0.0-rc1-final",
"Microsoft.AspNet.Server.Kestrel": "1.0.0-rc1-final",
"Microsoft.AspNet.StaticFiles": "1.0.0-rc1-final",
"Microsoft.AspNet.Mvc.TagHelpers": "6.0.0-rc1-final",
"EntityFramework.Core": "7.0.0-rc1-final",
"EntityFramework.MicrosoftSqlServer": "7.0.0-rc1-final",
"EntityFramework.Commands": "7.0.0-rc1-final",
"Microsoft.Extensions.Logging.Debug": "1.0.0-rc1-final",
"Microsoft.Extensions.CodeGenerators.Mvc": "1.0.0-rc1-final",
"AutoMapper": "4.2.1"
},
"commands": {
"web": "Microsoft.AspNet.Server.Kestrel",
"ef": "EntityFramework.Commands"
},
"frameworks": {
"dnx451": {
"dependencies": {
"AutoMapper": "4.2.1",
"System.Net.Http": "4.0.1-rc2-24027"
},
"frameworkAssemblies": {
"System.Data.Entity": "4.0.0.0"
}
},
"dnxcore50": {
"dependencies": {
"System.Net.Http": "4.0.1-beta-23516"
}
}
},
"exclude": [
"wwwroot",
"node_modules"
],
"publishExclude": [
"**.user",
"**.vspscc"
]
}
2. web.config (wwwroot)
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.webServer>
<handlers>
<add name="httpPlatformHandler" path="*" verb="*" modules="httpPlatformHandler" resourceType="Unspecified" />
</handlers>
<httpPlatform processPath="%DNX_PATH%" arguments="%DNX_ARGS%" forwardWindowsAuthToken="false" startupTimeLimit="3600" />
</system.webServer>
</configuration>
3. 全局.json
{
"sdk": {
"version": "1.0.0-rc1-update2"
}
}
最后,可能有助于找到错误的最后一个主题:
- 我不太确定 httpPlatformHandler 是否安装正确。
我在哪里可以找到它或确保它在哪里?
- 我在 IIS Local 上托管了其他 Web 项目,带有虚拟目录和分配的池。考虑到 IIS Express 的目标是端口 8000,这会如何影响端口的可用性?(应用网址:http://localhost:8000/)
如果您需要有关此问题的其他信息,请告诉我。
提前致谢!
凯伦·G。