[我在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才能正常工作吗?
搜索后,我发现需要手动创建logs文件夹的here,我这样做并再次测试了该应用程序,但在该文件夹下得到了一个log_stdout文件,但它是空的!?
已解决,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即可解决问题,现在我获得了日志文件信息。