【问题标题】:.net core application error 502.5 if run as virtual directory in IIS如果在 IIS 中作为虚拟目录运行,.net 核心应用程序错误 502.5
【发布时间】:2018-06-23 06:38:09
【问题描述】:

我在配置 .net 核心应用程序以在 iis 中作为虚拟目录工作时遇到问题。 如果我直接使用其端口启动 .net 核心应用程序,它可以正常工作。

我收到 502.5 响应,并且在事件查看器中有此消息

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>

【问题讨论】:

    标签: c# .net windows iis deployment


    【解决方案1】:

    为了运行 ASP.NET Core 应用程序,请确保您:

    • 拥有ASP.NET Core Web Hosting Bundle(服务器必需!)
    • 发布您的应用程序 - 应包含 web.config
    • 将发布输出部署到您的服务器
    • 设置应用程序池
    • 将 .NET Framework 设置为无(可选,但通常是个好主意)
    • 使用在虚拟文件夹中具有读取权限的帐户

    托管捆绑包包括用于 IIS 的 ASP.NET Core 模块,它允许 IIS 启动。没有 ASP.NET Core 的应用程序将无法在 IIS 上运行。

    您还需要发布您的应用程序,这会生成一个最终输出文件夹,其中包含您的二进制文件和配置文件,其中包括根目录中的 web.config 和包含您的内容的 wwwroot 根文件夹。要测试你应该确保你可以从命令行运行你的应用程序:

    dotnet yourMainAssembly.dll -c Release
    

    如果这不起作用,请先解决此问题,因为这基本上是 IIS 触发的原因。一旦独立工作,您可以尝试使用 IIS。

    在 Visual Studio 中创建的 ASP.NET Core 项目会自动包含一个 web.config,它应该包含在 IIS 下运行所需的一切。对于一个应该是你所需要的基本设置。生成的 web.config 应该负责让您的应用运行。

    如果您使用的是虚拟设备,您可能会遇到父端配置渗入虚拟设备的问题,因为虚拟设备会从父设备继承设置。如果是这种情况,请为您的应用程序池选择相同版本的 .NET Framework,或与父级共享应用程序池。或者,您可以在 &lt;handlers&gt; 部分中使用 &lt;clear /&gt; 从层次结构中清除所有处理程序。

    <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>
    

    我有一篇博文,其中包含有关在 IIS 上托管的更多详细信息以及静态文件的一些附加配置:

    【讨论】:

    • 我的问题可能是因为虚拟目录,因为它直接运行良好
    猜你喜欢
    • 1970-01-01
    • 2016-12-31
    • 2012-10-26
    • 1970-01-01
    • 1970-01-01
    • 2011-06-10
    • 1970-01-01
    • 2015-10-12
    • 1970-01-01
    相关资源
    最近更新 更多