在将ASP.NET Core Web API项目部署到IIS时,如何解决web.config问题

时间:2018-02-08 18:07:42

标签: asp.net iis visual-studio-2017

我使用Web API模板在Visual Studio 2017中构建了一个ASP.NET Core Web API。当我在开发期间测试它时,它使用IIS Express运行并按预期工作。 index.html文件由wwwroot文件夹提供,向ASP.NET服务器发出一些AJAX请求,这些请求向第三方API发出一些HTTP请求,以获取最终返回给浏览器的一些数据。没有涉及数据库。我试图发布到IIS,以便我公司的另一个人可以在他们的机器上本地使用它(将运行IIS)。我通过Visual Studio 2017的发布者发布了:

右键单击项目并发布到IIS(遵循本教程中的说明:https://docs.microsoft.com/en-us/aspnet/web-forms/overview/deployment/visual-studio-web-deployment/deploying-to-iis

发布时,会打开一个网页,其中包含我作为目标网址的网址: 本地主机/项目名 但我收到此错误:HTTP错误500.19 - 内部服务器错误 无法访问请求的页面,因为页面的相关配置数据无效。

该屏幕上未识别出配置错误。 这是我的web.config的样子:

  <?xml version="1.0" encoding="utf-8"?>
    <configuration>
      <system.webServer>
        <handlers>
          <add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModule" 
    resourceType="Unspecified" />
        </handlers>
        <aspNetCore processPath="dotnet" arguments=".\StandardsGenerator.dll" 
    stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" />
      </system.webServer>
    </configuration>
    <!--ProjectGuid: 78162755-cd01-4a5c-8863-1087bd7f6f8f-->

此配置有问题吗?如果任何人都可以指向描述web.config文件中可能有用的内容的资源。

此外,当我发布应用程序并导航到localhost / ProjectName时,我希望从wwwroot目录提供index.html文件。在我的测试环境中,我在LaunchSettings.json中配置了它。在哪里为已发布的应用配置起始页?

1 个答案:

答案 0 :(得分:0)

关于500.19错误,有多种原因导致您遇到此错误。要进一步解决此问题,请从IIS启用此应用程序的详细错误。为此,请启动IIS,选择特定网站。中心面板中的“打开错误页面”部分。右键单击页面,然后选择&#34;编辑功能设置&#34;。选择&#34;详细错误&#34;这里。您也可以关注此博客,该博客的内容相同 - https://blogs.msdn.microsoft.com/rakkimk/2007/05/25/iis7-how-to-enable-the-detailed-error-messages-for-the-website-while-browsed-from-for-the-client-browsers/

重现问题并在此处分享错误消息。 IIS通常会给出需要调整的模块/配置。

要回答有关起始页面的第二个问题,请选择网站,然后单击&#34;默认文档&#34;并添加&#34; index.html&#34;在这里页面并将其移至顶部。这样,无论何时用户访问您的网站,他都会首先看到index.html。