在iis上部署的asp.net核心应用程序遇到500内部服务器错误

yit*_*ian 34 c# iis asp.net-core

:(糟糕.500内部服务器错误启动应用程序时出错.

当我向我的asp.net核心应用程序添加数据库功能并将其部署到iis时,会出现此消息.当我在Visual Studio中开发它时,一切都很顺利.但部署后,出现此错误消息.

我试图dotnet myapp.dll在deploy文件夹中运行我的应用程序,发现它运行良好.问题可能与iis有关.我试图添加<compilation debug="true">..</compilation>到web.config,但它似乎没用.实际上有什么问题,或者有没有其他方法可以查看详细的错误信息以帮助找出发生了什么?

Set*_*Set 45

  1. 将stdoutLogEnabled ="false"更改为true,然后检查stdoutLogFile =".\ logs\stdout"中的日志.那里的错误可能会告诉你一些事情.

  2. 检查是否使用ASPNETCORE_ENVIRONMENT环境变量设置了正确的环境名称,因此请使用连接字符串等正确的设置.默认情况下,您的计算机上有"开发"环境.

  3. 您可以使用错误处理中间件来显示异常

    app.UseDeveloperExceptionPage();
    
    Run Code Online (Sandbox Code Playgroud)

  • 非常感谢你.我发现了日志,原因是sqlserver异常.我到了apppool并设置了localsystem,一切正常!顺便说一句,我在visual studio中更新了asp.net核心工具并重新部署并发现错误页面中显示的错误消息,而不仅仅是"500 server".真可怕 ! (2认同)

Jam*_*ruk 12

有同样的问题.这是帮助我指南.请注意,我不想在Web服务器上安装"运行时",而是将所有必需的文件作为独立应用程序部署.以下是更简略形式的步骤:

  1. 在本地PC上,根据您的服务器确定要发布的版本.我的目标是Windows Server 2008 R2,这意味着我需要发布win7-x64.在项目目录中打开命令提示符并运行以下命令:

    dotnet发布-c release -r win7-x64

    这将创建一个包含数百个dll的发布文件夹,一个.exe和web.config位于:bin\Release \netcoreapp2.0\publish

  2. 在IIS服务器上,转到此登录页面.它说.NET Core ... Runtime,我不想要,但是如果你向下滚动,你会在Windows下看到Hosting Bundle Installer.点击下载并运行.

  3. 从命令提示符运行此命令重新启动系统:

    net stop was

  4. 将本地发布文件夹中的所有文件复制到IIS服务器上的所需应用程序文件夹中.

  5. 在服务器上,打开IIS,并像平常一样创建单独的AppPool和Application.对于AppPool,在"基本设置"下,将.NET Framework版本更改为" 无管理代码".(可怕,对吧?) 确保IIS中的应用程序指向所需的文件夹和正确的AppPool.

  6. 在浏览器中测试您的Web应用程序.

  • 我正在使用Visual Studio提供的常规发布.而且,我刚刚发现使用最新版本的Hosting Bundle将解决问题.此https://www.microsoft.com/net/download/dotnet-core/runtime-2.1.0-rc1上的+1 +1 (3认同)

mrd*_*enz 5

在我的情况下,我得到了这个,因为我实际上没有在我运行它的Windows服务器上安装最新的'DotNetCore.2.0.0-WindowsHosting.exe'所以它在我的本地机器上运行正常和错误五hundy'ing在服务器上.

我还有其他非常重要的问题来解决升级问题......如果可以,我建议避免使用它.

  • 我的2美分遵循这个https://docs.microsoft.com/en-us/aspnet/core/host-and-deploy/iis/index?tabs=aspnetcore2x#common-errors (2认同)

Mat*_*len 5

Mark333在下面的评论解决了我的问题。

报价以方便阅读:

“我正在使用Visual Studio提供的常规发布。而且,我发现使用最新版本的Hosting Bundle可以解决此问题。此microsoft.com/net/download/dotnet-core/runtime-2.1上的+1 .0-rc1“

由于我的应用程序较旧,因此我必须安装1.1版,但Hosting Bundle修复了该问题。就我而言,我们为官方环境部署了Docker映像,但是当我想在本地进行一些测试时,我将其发布并让我的本地IIS服务。