Я прочитал немного документации по настройке сред для развертывания приложений ASP.Net Core. Эти статьи обычно ссылаются на Development . Постановка и Производство по имени, но никогда не отклоняются от этих традиционных названий среды.
Обычно, когда вы выходите из «разработки», вы хотите отключить настройки разработки / отладки, чтобы в случае сбоя вашего приложения конфиденциальная информация не просочилась в сеть. Это имеет смысл.
Однако мое приложение находится на ранней стадии разработки, и мне нужны две конфигурации среды разработки, которые мы можем отладить. В частности, моя команда в основном хочет разрабатывать локально, подключаясь к локальной базе данных SQL Server. Однако нам нужно настроить и протестировать базу данных Azure, а для предварительной настройки было бы полезно, если бы мы могли запускать режим разработки сервера локально и иметь возможность подключаться к нашим базам данных Azure из наших блоков разработчика.
Я хотел бы создать два файла конфигурации с именами aspsettings.Development.json
и aspsettings.LocalDevelopment.json
, оба из которых находятся в моих двух основных проектах ASP.Net в моем решении - один для Web API, а другой для пользовательского интерфейса. проект.
Development
будет содержать все значения для подключения к соответствующим серверам базы данных dev (база данных Azure, используемая для тестирования разработки, для которой требуется доступ к Azure), а среда LocalDevelopment
будет использоваться для подключения к локальной базе данных.
Я добавил эти файлы в свой проект, скопировал детали Development
в LocalDevelopment
и изменил только строки подключения для конфигурации проекта API.
Затем я открыл свойства своих проектов и добавил два профиля для отладки. Чтобы попытаться выяснить это, я создал эти идентичные профили как для проекта API, так и для проекта пользовательского интерфейса. Эти профили были названы «IIS Local», а другой «IIS Dev Server». Наконец, на каждой странице проекта для каждого нового профиля я ввел их соответствующие значения для ASPNETCORE_ENVIRONMENT
- Development
и LocalDevelopment
.
Когда я отлаживаю приложение как среду и профиль Development, it works fine. However, when I run the application using the
LocalDevelopment`, я получаю следующую ошибку:
Error. Произошла ошибка при обработке вашего запроса. Идентификатор запроса: 0HLLE04D5NFDU: 00000001
Режим разработки Переключение в среду разработки покажет больше
подробная информация о произошедшей ошибке.
Среда разработки не должна быть включена в развернутом
приложения, так как это может привести к получению конфиденциальной информации от
исключения отображаются для конечных пользователей. Для локальной отладки,
Среду разработки можно включить, установив
Переменная среды ASPNETCORE_ENVIRONMENT для разработки, и
перезапуск приложения.
Кажется, это не так, поскольку оба конфига одинаковы для соответствующих проектов, и единственными отличиями являются строки соединений в API, и я добавил свойство EnvironmentName
для идентификации.
Что я могу делать не так?
Вот содержимое файла LocalDevelopment
. На всякий случай, если я что-то упустил.
Настройки в API
{
"Logging": {
"LogLevel": {
"Default": "Debug",
"System": "Information",
"Microsoft": "Information"
}
},
"EnvironmentName": "LOCAL",
"ConnectionStrings": {
"Database": "xxx"
}
}
Настройки в интерфейсе пользователя
{
"Logging": {
"LogLevel": {
"Default": "Debug",
"System": "Information",
"Microsoft": "Information"
}
}
}