如何启用登录已发布的asp.net Core项目?

时间:2019-11-28 12:45:45

标签: asp.net-core iis visual-studio-2017 asp.net-core-2.2

我在iis服务器上发布了asp.net核心网络api,当我在浏览器中测试该应用程序时,出现了502.5错误。

我搜索了如何找到解决方案,发现需要通过将 stdoutLogEnabled =“ false” 更改为true来启用日志记录。

 <?xml version="1.0" encoding="utf-8"?>
    <configuration>
       <location path="." inheritInChildApplications="true">
       <system.webServer>
         <handlers>
         <add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModule" resourceType="Unspecified" />
  </handlers>
      <aspNetCore processPath="dotnet" arguments=".\WsAZProjet.dll" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" />
      </system.webServer>
      </location>
    </configuration>
<!--ProjectGuid: baf7ef69-c0ff-4e36-b69c-71ad3fd869b9-->

我在iis serveur中进行了更改,并在浏览器中重新测试了该应用程序,但是我没有生成日志目录,因此我认为我应该在代码中进行配置,然后重新发布该应用程序?

您对如何启用已发布应用程序的日志记录有任何想法吗? 我应该重新启动iis才能正常工作吗?

更新

搜索后,我发现here需要手动创建 logs 文件夹,然后执行了此操作,然后再次测试了该应用程序,得到了<文件夹下的em> log_stdout 文件,但它为空!!?

1 个答案:

答案 0 :(得分:0)

已解决,here错误的原因:

不正确的proecessPath,缺少PATH变量或dotnet.exe访问冲突

  

浏览器:HTTP错误502.5-进程失败

     

应用程序日志:无法使用命令行“ dotnet”。\ my_application.dll”(便携式应用程序)或“”。\ my_application_Foo.exe””(自包含应用程序)启动进程,ErrorCode =“ 0x80070002”。

     

ASP.NET Core模块日志:日志文件已创建但为空

     

故障排除:     检查web.config中元素上的processPath属性,以确认它是用于便携式应用程序的dotnet或用于独立应用程序的。\ my_application.exe。   对于便携式应用程序,可能无法通过PATH设置访问dotnet.exe。确认系统路径设置中存在C:\ Program Files \ dotnet \。   对于便携式应用程序,可能无法通过应用程序池的用户身份访问dotnet.exe。确认AppPool用户身份可以访问C:\ Program Files \ dotnet目录。

我的processPath昨天由我设置为 C://ProgramFiles/dotnet.exe ,将其更改为 dotnet 即可解决此问题,并获得了日志文件信息现在。

相关问题