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

36 浏览
0 Comments

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

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

右键单击项目并发布到IIS(按照这个教程的指示进行:https://learn.microsoft.com/en-us/aspnet/web-forms/overview/deployment/visual-studio-web-deployment/deploying-to-iis

当我发布时,一个网页打开了,显示我设置的目标URL:

localhost/ProjectName

但是我收到了这个错误:HTTP Error 500.19 - Internal Server Error

请求的页面无法访问,因为页面的相关配置数据无效。

在该屏幕上没有找到配置错误。

这是我的web.config文件的内容:

  
    
      
        
          
        
        
      
    
    

这个配置有什么问题吗?如果有人可以指出描述web.config文件应包含什么的资源,那将会很有帮助。

另外,当我发布应用程序并导航到localhost/ProjectName时,我希望从wwwroot目录中提供一个index.html文件。在我的测试环境中,我在LaunchSettings.json中配置了这一点。在发布的应用程序中,我在哪里配置启动页?

0
0 Comments

出现500.19错误的原因有多种可能。为了进一步排除故障,请在IIS中启用此应用程序的详细错误信息。操作方法是,启动IIS,选择特定的网站,在中心面板中打开错误页面部分。右键单击页面,选择"编辑功能设置"。在这里选择"详细错误"。你也可以参考这篇博客,它讲述了同样的方法 - 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通常会提供需要进行调整的模块/配置信息。

至于你的第二个问题,关于启动页面,选择网站,点击"默认文档",在这里添加"index.html"页面并将其移到顶部。这样,每当用户访问你的网站时,他将首先看到index.html。

0