Привет, Хабр! Вышел релиз Blazor WebAssemby и я немного обновил свой сайт. За подробностями добро пожаловать под кат.

Содержание



Ссылки


Исходники
> Образы на Docker Registry

Обновления


Установить новый шаблон с релизной версией Blazor

dotnet new -i Microsoft.AspNetCore.Components.WebAssembly.Templates::3.2.0

Добавил ссылку на пакет для удобной работы с HttpClient

 <PackageReference Include="Microsoft.Extensions.Http" Version="3.1.3" />
 <PackageReference Include="System.Net.Http.Json" Version="3.2.0" />

Добавил новый способ инициализации HttpClient чтобы он автоматом захватывал токены авторизации в свои хедеры

services.AddHttpClient("BlazorEShop", client => 
        client.BaseAddress = new Uri(cfg.ApiUri))
    .AddHttpMessageHandler(sp =>
        sp.GetRequiredService<AuthorizationMessageHandler>()
            .ConfigureHandler(new[] { cfg.ApiUri },scopes: new[] { "api" }));
services.AddTransient(sp => 
    sp.GetRequiredService<IHttpClientFactory>().CreateClient("BlazorEShop"));

Ну и уровень логгов понизил. Вообще теперь можно через переменные окружения его выставлять или черезе appsettings.json который лежит в wwwroot.

 builder.Logging.SetMinimumLevel(LogLevel.Debug);


Что нового в Blazor WebAssembly


Есть возможность получать конфиги из json файлов и из переменных окружения.
Есть возможность локализации через файлы ресурсов .resx
Есть возможность автоматически добавлять jwt токен в хедеры при запросе.
Подробнее можно посмотреть в этом видео.

Загрузка картинок


Пока что только через сваггер.

Авторизуемся нажав кнопку Authorize в правом верхнем углу и во всплывающем окне проставив галочку в левом нижнем угле.



Загружаем файл и копируем идентификатор который нам вернули



Используем идентификатор который скопировали на предыдущем шаге в качестве imageId