API .NET Core 2.2 на IIS возвращает ошибку, если он пытается подключиться к БД, но в остальном работает нормально - PullRequest
0 голосов
/ 05 марта 2019

Когда я публикую свое основное приложение .NET на сервере разработки IIS, я обращаюсь к API, и метод отлично работает локально. Этот метод выполняет вызов базы данных, используя строку подключения, хранящуюся в
appSettings.json, а также appSettings.Development.json

Замечания:
- Да, у меня есть ASPNETCORE_ENVIRONMENT = Development, и у меня есть и файл appSettings.json, и файл appSettings.Development.json - Итак, я начал просматривать опубликованные файлы, и у меня были ОБА из этих json-файлов в опубликованной папке, хотя для свойств appSettings.Development.json установлено значение «Build Action» = содержимое и «Копировать в выходной каталог» = «Не копировать». - Если я закомментирую код, который является его базой данных, и верну фиктивные данные, и переиздаю API, я получу результаты в порядке, без нареканий по поводу «режима разработки»



Ошибка, возникающая при вызове API, пытающегося нажать Db

Ошибка. Произошла ошибка при обработке вашего запроса.

Запросить идентификатор: 0HLL1GOCEHH73:00000001

Режим разработки

Обмен на Среда разработки отображает подробную информацию о возникшей ошибке.

Среда разработки не должна быть включена для развернутых приложений. Это может привести к отображению конфиденциальной информации от исключений для конечных пользователей. Для локальной отладки включите Разработка среды путем установки ASPNETCORE_ENVIRONMENT переменная среды для Разработка и перезапустить приложение.

Вопросы :
- Строки подключения Db находятся в обоих

[ обновление ]

Brain-пердеть! Строки соединения с БД использовали «доверенный», поэтому неудивительно, что они работали локально! После того, как я ввел учетные данные и переиздал, все работало так, как я ожидал. Однако сообщение об ошибке сбило меня с толку.

Я все еще не уверен, почему у меня опубликованы оба этих файла appSettings? Какой он будет использовать?

1 Ответ

0 голосов
/ 05 марта 2019

Я предполагаю, что ваши файлы настроек приложений имеют следующие имена:

  1. appSettings.json
  2. appSettings.dev.json

как правило, у вас естьявно установить среду для Dev.если вы используете Visual Studio для разработки, он устанавливает переменную среды, которая указывает приложению перевести его в режим разработки.

Не видя логики инициализации, я бы сказал, что в prod она будет использовать appSettings.json.

Взгляните на эту статью, она объясняет конфигурацию более подробно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...