gpt4 book ai didi

.net - 从 iis 8.5 windows server 2012 上的 asp.net core 应用程序获取 500 错误代码,但在控制台上工作正常

转载 作者:行者123 更新时间:2023-12-03 00:37:47 25 4
gpt4 key购买 nike

标题:

在 Windows Server 2012 IIS 8.5 上运行 ASP.NET Core 应用程序时收到 500 错误代码,但通过指定生成的 exe 文件(即“MyApplication.exe”)从命令行执行时工作正常

详细信息:

它不会生成任何错误日志,并且 Windows 事件查看器中没有任何与此相关的内容,因此我不知道发生了什么。我非常确定问题不在生成的包(使用 dotnetpublish)中,因为它是通过 TeamCity 生成的,然后将相同的包部署到不同的计算机,并且创建主机站点的过程也使用 OctopusDeploy 自动进行,并且这适用于其他机器。不工作的机器上的不同之处是:

  • 它安装了 dotnet-core RC1(我在部署过程之前将其卸载)
  • HttpPlatformHandler 模块已在 IIS 模块中注册(我已将其删除,但仍然无法正常工作)
  • 操作系统为 Windows Server 2012(其他计算机为 2008 和 2012 R2)

我做了以下事情,但它总是给我 500 错误代码,日志中没有错误,Windows 事件查看器中没有相关事件。

  • 创建了 app_offline.htm 文件,但结果相同
  • iisreset(多次,当我在 IIS 中进行更改时)
  • 重新启动机器(仅 2 次)
  • 重新安装了asp net core模块(手动并修复)
  • 授予对该文件夹中的默认 AppPool{{ApplicationName} 的读取、写入和执行访问权限
  • 将应用程序池身份更改为管理员用户

我认为问题出在 IIS 和 aspnet core 模块之间,因为这个应用程序确实可以在控制台中工作。而且我也确信 web.config 是正确的,因为在 web.config 中的其他两台机器上也有同样的工作,它被指示运行“.{{MyApplication}}.exe”

任何帮助将不胜感激,因为我已经花了一整天的时间来做这件事,明天真的没有任何精力再做这件事。

最佳答案

我解决了我自己的问题。如果有人遇到同样的问题,这里是解决方案。

dotnet core 应用程序的应用程序池没有选择托管代码但还要确保托管管道模式设置为经典

关于.net - 从 iis 8.5 windows server 2012 上的 asp.net core 应用程序获取 500 错误代码,但在控制台上工作正常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39398872/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com