Asp.Net Core App 部署故障示例 1
1. HTTP Error 502.5 – Process Failure
环境
Windows Server 2012, IIS 8, Asp.Net Core 1.1.
故障
App按正常流程发布后通过浏览器访问出现以下错误:
HTTP Error 502.5 – Process Failure
|
排错
1. 通过页面返回的信息得知错误是由于app未能启动或启动后被终止。较为可能原因是Asp.Net Core Module或Kestrel,IIS问题可能性较小。
2. 查看windows日志,显示错误信息为:
Application 'MACHINE/WEBROOT/APPHOST/ITEAM.VICP.NET 8089' with physical root 'C:\WebSites\test.com\' failed to start process with commandline '"dotnet" .\WebApplication1.dll', ErrorCode = '0x80004005 : 80008083.
日志信息表明是在执行 dotnet \WebApplication1.dll命令时出错。
3. 打开命令行,执行 dotnet \WebApplication1.dll:
至此故障问题已明确。故障是由于服务器端.Net Core版本低于App的.Net Core版本所致。
解决
在服务器上安装最新版本.NET Core Windows Server Hosting程序集。
小结
目前.Net Core版本更新比较频繁,由于Visual Studio有更新提醒机制,所以在开发环境中的程序组件往往是比较新的,而服务器上的程序组件一般不会频繁更新,在部署时就会引起故障。