Перенос конфигурации в ASP.NET Core
В предыдущей статье мы начали переносить проект MVC ASP.NET на ASP.NET Core MVC. В этой статье мы переносим конфигурацию.
Просмотреть или скачать образец кода (описание загрузки)
Настройка конфигурации
ASP.NET Core больше не использует файлы Global.asax и web.config , которые использовались в предыдущих версиях ASP.NET. В более ранних версиях ASP.NET логика Application_StartUp
запуска приложения была помещена в метод в Global.asax. Позже в ASP.NET MVC Startup.cs
файл был включен в корневой каталог проекта; он был вызван при запуске приложения. ASP.NET Core полностью принял этот подход, поместив всю логику запуска в Startup.cs
файл.
Файл web.config также был заменен в ASP.NET Core. Теперь конфигурация может быть настроена как часть процедуры запуска приложения, описанной в разделе Startup.cs
. Конфигурация по-прежнему может использовать XML-файлы, но обычно ASP.NET проекты Core будут размещать значения конфигурации в формате JSON, например appsettings.json
. ASP.NET система конфигурации Core также может легко получить доступ к переменным среды, что может обеспечить более безопасное и надежное расположение для значений, относящихся к среде. Это особенно верно для секретов, таких как строка подключения и ключи API, которые не должны быть проверены в системе управления версиями. Дополнительные сведения о конфигурации см. в разделе "Конфигурация " в ASP.NET Core.
Предупреждение
В этой статье используется локальная база данных, которая не требует проверки подлинности пользователя. Рабочие приложения должны использовать самый безопасный поток проверки подлинности. Дополнительные сведения о проверке подлинности для развернутых тестовых и рабочих приложений см. в разделе "Безопасные потоки проверки подлинности".
В этой статье мы начинаем с частично перенесенного проекта ASP.NET Core из предыдущей статьи. Чтобы настроить конфигурацию, добавьте следующий конструктор и свойство Startup.cs
в файл, расположенный в корне проекта:
public Startup(IConfiguration configuration)
{
Configuration = configuration;
}
public IConfiguration Configuration { get; }
Обратите внимание, что на этом этапе файл не будет компилироваться, Startup.cs
так как нам по-прежнему нужно добавить следующую using
инструкцию:
using Microsoft.Extensions.Configuration;
Добавьте файл в корневой appsettings.json
каталог проекта с помощью соответствующего шаблона элемента:
Перенос параметров конфигурации из web.config
Наш проект ASP.NET MVC включал необходимый строка подключения базы данных в web.config в <connectionStrings>
элементе. В нашем проекте ASP.NET Core мы будем хранить эти сведения в appsettings.json
файле. Откройте appsettings.json
и обратите внимание, что он уже включает в себя следующее:
{
"Data": {
"DefaultConnection": {
"ConnectionString": "Server=(localdb)\\MSSQLLocalDB;Database=_CHANGE_ME;Trusted_Connection=True;"
}
}
}
В выделенной строке, показанной выше, измените имя базы данных с _CHANGE_ME на имя базы данных.
Итоги
ASP.NET Core помещает всю логику запуска приложения в один файл, в котором можно определить и настроить необходимые службы и зависимости. Он заменяет файл web.config гибким компонентом конфигурации, который может использовать различные форматы файлов, такие как JSON, а также переменные среды.
ASP.NET Core