C# .net核心应用程序错误502.5(如果在IIS中作为虚拟目录运行)
我在配置.net核心应用程序作为iis中的虚拟目录时遇到问题。 如果我直接用它的端口启动.NETCore应用程序,它可以正常工作 我收到502.5响应,在事件查看器中有此消息C# .net核心应用程序错误502.5(如果在IIS中作为虚拟目录运行),c#,.net,windows,iis,deployment,C#,.net,Windows,Iis,Deployment,我在配置.net核心应用程序作为iis中的虚拟目录时遇到问题。 如果我直接用它的端口启动.NETCore应用程序,它可以正常工作 我收到502.5响应,在事件查看器中有此消息 Application 'MACHINE/WEBROOT/APPHOST/DEFAULT WEB SITE' with physical root 'C:\inetpub\wwwroot\' failed to start process with commandline ' ', ErrorCode = '0x80070
Application 'MACHINE/WEBROOT/APPHOST/DEFAULT WEB SITE' with physical root 'C:\inetpub\wwwroot\' failed to start process with commandline ' ', ErrorCode = '0x80070057 : 0.
我删除了.net web.config中的父处理程序,如下所示
<handlers>
<remove name="httpPlatformHandler"/>
<remove name="ExtensionlessUrlHandler-ISAPI-4.0_32bit" />
<remove name="ExtensionlessUrlHandler-ISAPI-4.0_64bit" />
<remove name="ExtensionlessUrlHandler-Integrated-4.0" />
</handlers>
要运行ASP.NET核心应用程序,请确保:
- 具有(服务器所需的!)
- 发布应用程序-应包括
web.config
- 将发布输出部署到服务器
- 设置应用程序池
- 将.NET Framework设置为无(可选,但通常是个好主意)
- 使用在虚拟文件夹中具有读取权限的帐户
web.config
,以及包含内容的wwwroot
根文件夹。要进行测试,您应确保可以通过以下命令行运行应用程序:
dotnet yourMainAssembly.dll -c Release
如果这不起作用,请首先修复此问题,因为这本质上是IIS触发的。一旦独立的工作,你可以尝试使用IIS
在Visual Studio中创建的ASP.NET核心项目自动包含一个web.config,它应该包含在IIS下运行所需的所有内容。对于一个基本的设置,这应该是所有你需要的。生成的web.config应该负责让你的应用程序运行
如果您使用的是虚拟机,您可能会遇到父端配置流入虚拟机的问题,因为虚拟机从父端继承设置。如果是这种情况,请为应用程序池选择相同版本的.NET Framework,或者与父应用程序池共享应用程序池。或者,您可以使用
部分中的
清除层次结构中的任何处理程序
<configuration>
<system.webServer>
<handlers>
<clear>
<aspNetCore processPath="%LAUNCHER_PATH%" arguments="%LAUNCHER_ARGS%" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" forwardWindowsAuthToken="false" startupTimeLimit="3600" requestTimeout="23:00:00">
<environmentVariables />
</aspNetCore>
</system.webServer>
</configuration>
我的问题可能是因为虚拟目录,因为它可以直接正常运行