在打开这张票之前,我在StackOverflow,YouTube等网站上读了几十个其他问题,但我发现所有的建议都不能解决我的问题。
我打算使用IIS在Windows Server 2016上托管一个.net core 6 web api。我已经成功托管了一个客户端站点(Angular),没有出现任何问题,但API总是给我一个500.19错误:
我已经配置了端口5041,但我已经尝试了其他端口,如80、8080,但没有成功。
我已经安装了Asp.Net核心运行时和宿主捆绑包:
这是我的web.config:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<location path="." inheritInChildApplications="false">
<system.webServer>
<handlers>
<add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModuleV2" resourceType="Unspecified" />
</handlers>
<aspNetCore processPath="dotnet" arguments=".\EvoStats.API.dll" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" hostingModel="inprocess" />
</system.webServer>
</location>
</configuration>
我看到其他人解决了您的问题,他们将dotnet的完整路径放置在. NET中,我也这样做了,但在我的案例中没有解决:
<aspNetCore processPath="C:\Program Files\dotnet\dotnet.exe" ...
我还将应用程序池配置为不使用.net CLR管理代码
我不知道我还能做些什么
谢谢你的帮助。
1条答案
按热度按时间cu6pst1q1#
我已经解决了。
问题出在对wwwroot文件夹的访问权限上。有些奇怪,因为我有一个网站(Angular)在这个文件夹上工作,在给用户IIS_IUSRS完全控制之前。
希望这个解决方案对其他人有帮助。