Как в стандартном приложении ASP.NET Core или .NET, в приложении Blazor мы можем использовать встроенный функционал конфигурации для работы с различными конфигурационными настройками.
В проекте Blazor в качестве файла конфигурации по умолчанию используется
wwwroot/appsettings.json
wwwroot/appsettings.{ENVIRONMENT}.json
(где {ENVIRONMENT}
- имя среды приложения, обычно задается с помошью параметра
"ASPNETCORE_ENVIRONMENT" из файла launchSettings.json
, который располагается в проекте в папке Properties
)
например, пусть у нас в проекте расположен файл appsettings.json и два компонента - App.razor и Home.razor:
Пусть в appsettings.json будет определено следующее содержимое:
{ "message": "Hello METANIT.COM", "contacts": { "phone": "+1234545678" } }
В компоненте App, который является корневым, используем компонент Home:
@page "/" <!DOCTYPE html> <html> <head> <title>METANIT.COM</title> <meta charset="utf-8" /> </head> <body> <Home /> <script src="_framework/blazor.web.js"></script> </body> </html>
А в компоненте Home получим конфигурационные настройки из "appsettings.json":
@using Microsoft.Extensions.Configuration @inject IConfiguration Configuration <h2>@Configuration["message"]</h2> <h3>Phone: @Configuration["contacts:phone"]</h3>
Поскольку сервис конфигурации IConfiguration добавляется в сервисы приложения по умолчанию, то мы можем получить его в компоненте через механизм dependency injection. В остальном работа с конфигурацией проходит также как и в целом в ASP.NET Core (Основы конфигурации ASP.NET Core). В итоге веб-страница выведет значения использованных конфигурационных настроек: