运行 IIS 上的 MVC 6 Beta 8 应用程序

Running MVC 6 Beta 8 application on IIS

我正在尝试发布我的 MVC 6 Beta 8 应用程序。我能够成功地将它发布到 Azure,但是当我尝试将它发布到 ASPHostPortal 时,出现 500 错误。

所以我尝试将应用程序发布到本地 IIS,但也失败了。首先,我发现我需要安装 HttpPlatformHandler(否则 IIS 无法加载 web.config)。但即使在那之后,我仍然收到 502.3 错误。

HTTP Error 502.3 - Bad Gateway
There was a connection error while trying to route the request.

我还在事件日志中看到来自 HttpPlatformHandler 的错误 1000,没有任何描述。但它说 "Process '0' failed to start. Port = 13679, Error Code = '-2147024894'."

stdout.log 已创建但为空。

这是我的 web.config:

<configuration>
  <system.webServer>
    <handlers>
      <add name="httpPlatformHandler" path="*" verb="*" modules="httpPlatformHandler" resourceType="Unspecified"/>
    </handlers>
    <httpPlatform processPath="..\approot\web.cmd" arguments="" stdoutLogEnabled="true" stdoutLogFile="stdout.log" startupTimeLimit="3600"></httpPlatform>

    <httpErrors errorMode="Detailed" />
    <asp scriptErrorSentToBrowser="true" />
  </system.webServer>

  <system.web>
    <customErrors mode="Off" />
    <compilation debug="true" />
  </system.web>
</configuration>

我从这里去哪里?

感谢 Daniel 的评论和 https://github.com/aspnet/Hosting/issues/364 我发现我通过 Web 平台安装程序安装的 HttpPlatformHandler 1.0 不支持相对路径。所以我安装了 HttpPlatformHandler 1.2,现在可以使用了!!

另一种解决方案(也适用于我)是在 httpPlatform 配置中使用完整路径而不是相对路径。