美文网首页
ASP.Net Core 运行错误 Http Error 502

ASP.Net Core 运行错误 Http Error 502

作者: 没有昵称的祺祺 | 来源:发表于2019-06-18 10:13 被阅读0次

    Http Error 502.5 - Process Failure

    错误信息

    如果你看到上面这张图片了的话,说明你在本地运行的时候报错了。
    尤其好多都是我的群友,说下情况。
    这个一般是本地的.NET Core SDK版本不统一报错造成的。

    解决方法

    修改配置web.config文件

     <aspNetCore processPath="dotnet" arguments=".\COM.Demo.dll" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" />
    

    将 processPath="dotnet"改成你安装的.NET CORE SDK路径,一般默认在"C:\Program Files\dotnet\dotnet.exe"路径下,替换下就可以解决了。
    但有时候这样设置还会报502错误。
    如果是64位操作系统请设置

     <aspNetCore processPath="C:\Program Files\dotnet\dotnet.exe" arguments=".\COM.Demo.dll" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" />
    

    如果是32位操作系统请如下设置

     <aspNetCore processPath="C:\Program Files (x86)\dotnet\dotnet.exe" arguments=".\COM.Demo.dll" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" />
    

    但在某些64位操作系统下,core就只能设置32位的环境,如果设置64位的任然会报502错误,此时需要进行如下操作

    1、查找本机core安装的.NET Core Hosting 版本,点击服务器上左下角的开始按钮,在“搜索程序和文件”中输入PowerShell ,在打开的PowerShell 中输入如下命令

    $DotNETCoreUpdatesPath = "Registry::HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Updates\.NET Core"
    $DotNetCoreItems = Get-Item -ErrorAction Stop -Path $DotNETCoreUpdatesPath
    $NotInstalled = $True
    $DotNetCoreItems.GetSubKeyNames() | Where { $_ -Match "Microsoft .NET Core.*Windows Server Hosting" } | ForEach-Object {
        $NotInstalled = $False
        Write-Host "The host has installed $_"
    }
    If ($NotInstalled) {
        Write-Host "Can not find ASP.NET Core installed on the host"
    }
    

    最后点击回车,可以看到本机安装的.NET Core Hosting 环境如下图


    .NET Core Hosting环境

    如果发现没有x64位的,请在微软官网下载64位的.NET Core Hosting安装包

    [.NET Core环境下载](https://dotnet.microsoft.com/download)
    

    下载安装后直至有x64的Hosting版本信息
    2、将配置webconfig
    将配置文件配置成

     <aspNetCore processPath="dotnet" arguments=".\COM.Demo.dll" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" />
    

    或者

     <aspNetCore processPath="C:\Program Files\dotnet\dotnet.exe" arguments=".\COM.Demo.dll" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" />
    

    3、在浏览器中运行
    此时发现系统还是运行不了,浏览器转了几秒后,浏览器出现以下错误


    然后在服务器管理器中的iis事件中显示如下错误


    image.png

    在windows 应用程序中,显示如下错误


    windows事件错误

    最终解决方法

    打开IIS ,打开方式win+R 输入inetmgr
    选择停止的应用程序池


    选择停止的应用程序池

    右键选择高级设置找到标识更改为LocalSystem 重新启动IIS服务 启动已停止的应用程序池


    右键选择高级设置找到标识更改为LocalSystem

    可以暂时解决503问题,但请注意,以具有高级别用户权限的帐户运行应用程序池存在严重的安全风险。

    备注:有时候新服务器KB2999226补丁包安装不上,可以通过以下链接解决:

    [https://www.cnblogs.com/drfxiaoliuzi/p/8305085.html](https://www.cnblogs.com/drfxiaoliuzi/p/8305085.html)
    

    相关文章

      网友评论

          本文标题:ASP.Net Core 运行错误 Http Error 502

          本文链接:https://www.haomeiwen.com/subject/sdyxqctx.html