zoukankan      html  css  js  c++  java
  • 部署Asp.net Core 项目发生502.5 或者500 没有其他提示信息

          最近将公司原来.NetCore 1.6的项目升级到.net Core 2.0首先发生 502.5的错误,包括IIS日志,Windows应用程序日志都没有记录问题始终解决不了,首先看看官网给出的解决方案:

    https://docs.microsoft.com/zh-cn/aspnet/core/host-and-deploy/iis/index?tabs=aspnetcore2x#common-errors

          1.安装DotNetCore.2.0.0-WindowsHosting.exe 和 Microsoft Visual C++ 2015 Redistributable 之后运行以下

    //CMD命令窗口用管理员权限打开
       net stop was /y  
       net start w3svc
    //这两句执行的结果是重启IIS服务,或者重启服务器是同样的效果

           2.重新刷新网页还是502.5,或者500程序没有任何提示信息,因为.net core的站点服务是托管的

           3.解决这个问题的关键首先是要弄清楚主机是缺少必须的Windows程序,还是程序本身报错,比如最后才弄清楚程序运行错误导致了502.5

    Application startup exception: System.BadImageFormatException: Could not load file or assembly 'System.Runtime.CompilerServices.Unsafe, Version=4.0.3.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'. Reference assemblies should not be loaded for execution.  They can only be loaded in the Reflection-only loader context. (Exception from HRESULT: 0x80131058)
    File name: 'System.Runtime.CompilerServices.Unsafe, Version=4.0.3.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' ---> System.BadImageFormatException: Cannot load a reference assembly for execution.
       at Microsoft.Extensions.Primitives.InplaceStringBuilder.Append(String s, Int32 offset, Int32 count)
       at Microsoft.Net.Http.Headers.DateTimeFormatter.ToRfc1123String(DateTimeOffset dateTime, Boolean quoted)
       at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.DateHeaderValueManager.SetDateValues(DateTimeOffset value)
       at Microsoft.AspNetCore.Server.Kestrel.Core.KestrelServer.CreateServiceContext(IOptions`1 options, ILoggerFactory loggerFactory)
       at Microsoft.AspNetCore.Server.Kestrel.Core.KestrelServer..ctor(IOptions`1 options, ITransportFactory transportFactory, ILoggerFactory loggerFactory)
    --- End of stack trace from previous location where exception was thrown ---
       at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
       at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitConstructor(ConstructorCallSite constructorCallSite, ServiceProvider provider)
       at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitScoped(ScopedCallSite scopedCallSite, ServiceProvider provider)
       at Microsoft.Extensions.DependencyInjection.ServiceProviderServiceExtensions.GetRequiredService(IServiceProvider provider, Type serviceType)
       at Microsoft.Extensions.DependencyInjection.ServiceProviderServiceExtensions.GetRequiredService[T](IServiceProvider provider)
       at Microsoft.AspNetCore.Hosting.Internal.WebHost.EnsureServer()
       at Microsoft.AspNetCore.Hosting.Internal.WebHost.BuildApplication()

            4.所以我们要代开站点自动记录日志的功能,在发布的站点下找到web.conig文件按照如下配置

    <?xml version="1.0" encoding="utf-8"?>
    <configuration>
      <system.webServer>
        <handlers>
          <add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModule" resourceType="Unspecified" />
        </handlers>
        <aspNetCore processPath="%LAUNCHER_PATH%" 
            arguments="%LAUNCHER_ARGS%" 
            stdoutLogEnabled="false" 
            stdoutLogFile=".logsstdout" />//注意这个路径站点要有写的权限
      </system.webServer>
    </configuration>

              5.运行站点之后注意查看.logsstdout下的日志,基本能够知道托管站点在运行过程中,到底发生了什么错误!

               WebConfig配置细节请参考这里!

  • 相关阅读:
    Java中的final关键字
    使用chrome浏览器调试时的搜索技巧
    查看“文件路径”&“在此处打开命令窗口”
    python安装 错误 “User installations are disabled via policy on the machine”
    Charles 激活入口以及账号密码
    大数据学习(一) | 初识 Hadoop
    Django基础3-数据库交互
    Django基础2
    Django基础使用1
    创建-Django创建启动
  • 原文地址:https://www.cnblogs.com/andayhou/p/8290235.html
Copyright © 2011-2022 走看看