Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В предыдущей статье мы начали переносить проект 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.
Warning
В этой статье используется локальная база данных, которая не требует проверки подлинности пользователя. Рабочие приложения должны использовать самый безопасный поток проверки подлинности. Дополнительные сведения о проверке подлинности для развернутых тестовых и рабочих приложений см. в разделе "Безопасные потоки проверки подлинности".
Чтобы настроить конфигурацию, добавьте следующий конструктор и свойство 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 на имя базы данных.
Summary
ASP.NET Core помещает всю логику запуска приложения в один файл, в котором можно определить и настроить необходимые службы и зависимости. Он заменяет файлweb.config гибким компонентом конфигурации, который может использовать различные форматы файлов, такие как JSON, а также переменные среды.
ASP.NET Core