C# IIS ASP.NET核心应用程序未启动
我创建了一个ASP.NET核心web api,该api已在许多PC上进行了测试,但当部署到客户端的IIS服务器时,应用程序不会启动或产生任何错误,如在应用程序事件日志中检查的那样。 直接运行可执行文件,应用程序即可运行,您可以浏览到ASP.NET核心网站。 我导航到web.config文件以查找要运行的dll:C# IIS ASP.NET核心应用程序未启动,c#,asp.net-core,iis,.net-core,C#,Asp.net Core,Iis,.net Core,我创建了一个ASP.NET核心web api,该api已在许多PC上进行了测试,但当部署到客户端的IIS服务器时,应用程序不会启动或产生任何错误,如在应用程序事件日志中检查的那样。 直接运行可执行文件,应用程序即可运行,您可以浏览到ASP.NET核心网站。 我导航到web.config文件以查找要运行的dll: <?xml version="1.0" encoding="utf-8"?> <configuration> <location path="." in
<?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=".\MY_API.dll" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" hostingModel="inprocess" />
</system.webServer>
</location>
</configuration>
<!--ProjectGuid: c1c1b8d5-abcd-479f-9e7a-abcdefghijkl-->
端口未绑定到任何其他应用程序,因为当我运行可执行文件时,它成功绑定到端口,我可以导航到localhost:port,并显示api Swigger界面。
dotnet
命令在我的开发PC上成功运行应用程序
我可以确认IIS运行的模块与我在dev PC上运行的模块相同,并且服务器上安装的.net运行时宿主捆绑包与我在dev PC上安装的相同。
我觉得这只是一个权限问题,安全策略可能阻止我使用dotnet
命令绑定端口,我已经读到了IIS在后台启动应用程序时使用的命令
我对服务帐户和ApplicationPoolIdentity的了解非常有限。什么权限会阻止应用程序使用dotnet
命令绑定端口,其中运行可执行文件允许我绑定到端口?如何更改这些权限?请注意ASP.NET和ASP.NET Core之间的差异。然后尽一切努力写出你在问题中正确使用的内容。请指出你认为不正确的地方。该应用程序是一个实体框架核心web api。然后查看我编辑的内容。我可以看到您已指定这是一个ASP.NET核心应用程序。我仍在努力了解您希望我采取哪些进一步的行动来改进这个问题。也许您可以提供一个解决方案?