【问题标题】:Deploy ASP.NET Core API to Local IIS Error 500将 ASP.NET Core API 部署到本地 IIS 错误 500
【发布时间】:2020-12-24 21:45:54
【问题描述】:

部署到本地 IIS 后,我的应用程序出现问题。 我使用 ASP.NET Core 制作了一个 API,并在 Visual Studio 上运行它并且它工作正常。它可以执行 GET、POST、PUT 和 DELETE 请求。然后我想将它部署到我的本地 IIS。我已启用我的 IIS 功能。

我已经按照本教程进行操作:https://www.youtube.com/watch?v=ZG-6z4BQmRI&ab_channel=AspTricks.net
当我运行应用程序时,它可以运行 WeatherForecast 默认应用程序。

但是当我运行我的 API 时,它给了我一个错误 500。

我已阅读 Microsoft 文档和其他教程,但仍然无法正常工作。 我认为它不起作用,因为它失去了与数据库的连接,我正在使用 SQL Server 作为数据库。
这是我的项目结构。

附带问题,我如何删除 WeatherForecast 默认应用程序,所以它不会默认运行。 谢谢你

【问题讨论】:

    标签: c# visual-studio api asp.net-core iis


    【解决方案1】:

    由于我没有足够的信息,我无法帮助您解决您的问题,但我可以帮助您调试它。您的目标应该是找到导致您的 api 响应错误 500 的异常。很可能是失去与 db 的连接。

    首先让我回答你的第二个问题。要删除天气预报,只需右键单击并删除:

    1. WeatherForecast.cs
    2. WeatherForecastController.cs
    3. 任何提及这 2 个之后会破坏您的构建的内容。

    Windows 和 IIS 中的故障排除

    事件查看器

    这里有两种选择。第一个是检查应用程序文件夹中的事件查看器

    方法如下:http://www.devtopics.com/how-to-check-the-application-event-log-for-errors/

    本地调试

    有一个选项可以在本地 iis 上调试您的应用程序,就像您通过 IDE 运行它一样。在此处查看方法:https://docs.microsoft.com/en-us/aspnet/core/host-and-deploy/iis/development-time-iis-support?view=aspnetcore-3.1

    【讨论】:

    • 嗨@AthanasiosKataras,有什么我可以为您提供帮助的吗?
    • 消息中的异常本身会有所帮助。
    • 我在事件查看器中发现了这个:Microsoft.Data.SqlClient.SqlException (0x80131904): Login failed for user 'IIS APPPOOL\TestAPI'。
    • 嗨,解决了。现在出现一个新错误,但仍然是 500:Microsoft.Data.SqlClient.SqlException (0x80131904):无法打开登录请求的数据库“TestDb”。登录失败。用户“NT AUTHORITY\SYSTEM”登录失败。
    • 您需要将正确的用户添加到应用程序池中。或者在配置文件中使用数据库凭据
    猜你喜欢
    • 2017-02-24
    • 1970-01-01
    • 2019-10-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-08
    • 2017-02-13
    • 2013-03-03
    相关资源
    最近更新 更多