使用IIS部署asp.net核心网站时出现502.5错误

时间:2016-08-24 21:50:32

标签: iis asp.net-core

我有一个ASP.NET Core 1.0应用程序已成功部署并在我们的pre-prod服务器上运行了几个月。今天我尝试使用本文作为指南将网站部署到我们的生产服务器: https://docs.asp.net/en/latest/publishing/iis.html

底线是我们无法解决此错误:

HTTP Error 502.5 - Process Failure

Common causes of this issue:
* The application process failed to start
* The application process started but then stopped
* The application process started but failed to listen on the configured port

我们尝试了本文中列出的想法,但仍然没有运气: ASP.NET Core 1.0 on IIS error 502.5

你如何调试502.5错误,以找出失败的实际原因?

正在创建应用程序的日志文件,但不幸的是它们是空的。 Web服务器的事件查看器包含以下条目:

Process was created with commandline 'D:\Applications\PVP\UserInterface.exe' but failed to get the status, errorCode = 0x80070005

非常感谢任何帮助!托里。

2 个答案:

答案 0 :(得分:3)

尝试隔离问题是服务器(IIS)还是应用程序。通过直接查找和运行应用程序来做到这一点。找到您的web.config并运行该过程。

对于DLL,这是:

dotnet MyApp.dll

对于EXE,这是:

MyApp.exe

对你而言,这可能意味着直接运行D:\Applications\PVP\UserInterface.exe

答案 1 :(得分:2)

我一直在使用.NET Core 2.0网站苦苦挣扎,一旦我意识到IIS需要服务器上的web.config,我就过去了。

这是我的文件,我的关键元素是processPath和arguments。

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <system.webServer>
<handlers>
  <add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModule" resourceType="Unspecified" />
</handlers>
<aspNetCore processPath="dotnet" 
    arguments=".\My App.dll" 
    stdoutLogEnabled="true" 
    stdoutLogFile=".\logs\stdout" />
  </system.webServer>
</configuration>