从 iis 8.5 windows 服务器 2012 上的 asp.net 核心应用程序获取 500 错误代码,但在控制台上工作正常
Getting 500 Error code from asp.net core app on iis 8.5 windows server 2012 but works fine on console
标题:
运行在 windows 服务器 2012 IIS 8.5 上使用 asp.net 核心应用程序时出现 500 错误代码,但通过指定生成的 exe 文件从命令行执行时工作正常,即 "MyApplication.exe"
详情:
它没有生成任何错误日志,并且在 Windows 事件查看器中没有与此相关的任何内容,所以我不知道发生了什么。我很确定问题不在生成的包中(使用 dotnet publish),因为它是通过 TeamCity 生成的,然后将相同的包部署到不同的机器,创建主机站点的过程也使用 OctopusDeploy 自动进行,这适用于其他机器。机器不工作的不同之处是:
- 它安装了 dotnet-core RC1(我在部署过程之前将其卸载)
- HttpPlatformHandler 模块已在 IIS 模块中注册(我将其删除但仍然无法使用)
- OS 是 Windows Server 2012(而其他机器是 2008 和 2012 R2)
我做了以下事情,但它总是给我 500 错误代码,日志中没有错误,windows 事件查看器中也没有相关事件。
- 创建了一个 app_offline.htm 文件但结果相同
- iisreset(多次,每当我在 IIS 中进行更改时)
- 重启机器(仅2次)
- Re-installed asp net核心模块(手动修复)
- 已授予对该文件夹中默认 AppPool{{ApplicationName} 的读取、写入和执行权限
- 已将应用程序池身份更改为管理员用户
我认为问题出在 IIS 和 aspnet 核心模块之间,因为此应用程序确实可以在控制台中运行。而且我也确定 web.config 是正确的,因为在 web.config 中的其他两台机器上也是如此,顺便说一句,它被指示 运行 ".{{MyApplication}}.exe"
任何帮助将不胜感激,因为我已经花了一整天时间,明天真的没有任何精力再做一次。
我解决了自己的问题。如果有人遇到同样的问题,这里是解决方案。
dotnet 核心应用程序的应用程序池已选择 no managed code
但还要确保 Managed pipeline mode
设置为 Classic
标题:
运行在 windows 服务器 2012 IIS 8.5 上使用 asp.net 核心应用程序时出现 500 错误代码,但通过指定生成的 exe 文件从命令行执行时工作正常,即 "MyApplication.exe"
详情:
它没有生成任何错误日志,并且在 Windows 事件查看器中没有与此相关的任何内容,所以我不知道发生了什么。我很确定问题不在生成的包中(使用 dotnet publish),因为它是通过 TeamCity 生成的,然后将相同的包部署到不同的机器,创建主机站点的过程也使用 OctopusDeploy 自动进行,这适用于其他机器。机器不工作的不同之处是:
- 它安装了 dotnet-core RC1(我在部署过程之前将其卸载)
- HttpPlatformHandler 模块已在 IIS 模块中注册(我将其删除但仍然无法使用)
- OS 是 Windows Server 2012(而其他机器是 2008 和 2012 R2)
我做了以下事情,但它总是给我 500 错误代码,日志中没有错误,windows 事件查看器中也没有相关事件。
- 创建了一个 app_offline.htm 文件但结果相同
- iisreset(多次,每当我在 IIS 中进行更改时)
- 重启机器(仅2次)
- Re-installed asp net核心模块(手动修复)
- 已授予对该文件夹中默认 AppPool{{ApplicationName} 的读取、写入和执行权限
- 已将应用程序池身份更改为管理员用户
我认为问题出在 IIS 和 aspnet 核心模块之间,因为此应用程序确实可以在控制台中运行。而且我也确定 web.config 是正确的,因为在 web.config 中的其他两台机器上也是如此,顺便说一句,它被指示 运行 ".{{MyApplication}}.exe"
任何帮助将不胜感激,因为我已经花了一整天时间,明天真的没有任何精力再做一次。
我解决了自己的问题。如果有人遇到同样的问题,这里是解决方案。
dotnet 核心应用程序的应用程序池已选择 no managed code
但还要确保 Managed pipeline mode
设置为 Classic