#c# #visual-studio #api #asp.net-core #iis
#c# #visual-studio #API #asp.net-core #iis
Вопрос:
У меня возникли проблемы с моим приложением после развертывания в моем локальном IIS. Я создал API, используя ASP.NET Core и я запустили его в Visual Studio, и это сработало. Он может выполнять запросы GET, POST, PUT и DELETE. Затем я хотел развернуть его в своем локальном IIS. Я включил свои функции IIS.
И я следовал этому руководству:https://www.youtube.com/watch?v=ZG-6z4BQmRIamp;ab_channel=AspTricks.net
Когда я запускаю приложение, оно может запускать приложение WeatherForecast по умолчанию.
Но когда я запускаю свой API, он выдает ошибку 500.
Я прочитал документацию Microsoft и другие руководства и все еще не работает. Я думаю, что это не работает, потому что потеряно соединение с базой данных, я использую SQL Server для базы данных.
Это структура моего проекта.
Побочный вопрос, как мне удалить приложение WeatherForecast по умолчанию, чтобы оно не запускалось по умолчанию. Спасибо
Ответ №1:
Я не могу помочь вам решить вашу проблему, поскольку у меня недостаточно информации, но я могу помочь вам ее отладить. Ваша цель должна состоять в том, чтобы найти то исключение, которое приводит к тому, что ваш API выдает ошибку 500. Потеря подключения к базе данных вполне может быть причиной.
1-й позвольте мне ответить на ваш второй вопрос. Чтобы удалить прогноз погоды, просто щелкните правой кнопкой мыши и удалите:
- WeatherForecast.cs
- WeatherForecastController.cs
- Любое упоминание о тех 2, которые нарушают вашу сборку после этого.
Устранение неполадок в Windows и IIS
Средство просмотра событий
Здесь для вас два варианта. Первый — проверить средство просмотра событий в папке приложения
Вот как:http://www.devtopics.com/how-to-check-the-application-event-log-for-errors /
Локальная отладка
Существует возможность отладки вашего приложения в вашем локальном iis, как если бы вы запускали его через свою IDE. Проверьте, как здесь: https://learn.microsoft.com/en-us/aspnet/core/host-and-deploy/iis/development-time-iis-support?view=aspnetcore-3.1
Комментарии:
1. Привет @AthanasiosKataras, я мог бы предоставить вам что-нибудь, чтобы помочь мне?
2. Само исключение с сообщением было бы полезно.
3. Я нашел это в средстве просмотра событий: Microsoft.Data.SqlClient.SQLException (0x80131904): не удалось войти в систему для пользователя ‘IIS APPPOOL TestAPI’.
4. Привет, с этим разобрались. Теперь новая ошибка, но все еще 500: Microsoft.Data.SqlClient.SQLException (0x80131904): не удается открыть базу данных «TestDb», запрошенную при входе в систему. Не удалось войти в систему. Не удалось войти в систему для пользователя ‘NT AUTHORITY SYSTEM’.
5. Вам необходимо добавить соответствующего пользователя в пул приложений. Или используйте учетные данные базы данных в вашем файле конфигурации