Сценарии
1)
Pushing UI changes from Blazor Server to browser on server raised events
(Отправка изменений пользовательского интерфейса с сервера Blazor в браузер при возникновении событий сервера)
https://swimburger.net/blog/dotnet/pushing-ui-changes-from-blazor-server-to-browser-on-server-raised-events
mikoskinen/Blazor.EventAggregator
https://github.com/mikoskinen/Blazor.EventAggregator
Дополнение: После просмотра исходников считаю, что
лучше реализовать свое решение на основе методов OnInitialized(Async) для подписки и Dispose(Async) для отписка от события
2) Проблема внедрения зависимостей через конструктор
Can we talk about constructor injection now that partial classes are here? #18088
https://github.com/dotnet/aspnetcore/issues/18088
Возможное решение - собственная реализация IComponentActivator
Blazor: Implement IComponentActivator to get components from DI
https://github.com/abpframework/abp/issues/5527
!Некоторые компоненты могут не работать при использовании самодельного внедрения. Поэтому для них приходится использовать атрибут Inject.
3) Открыть новую вкладку
How can I open a new window
https://stackoverflow.com/questions/62769031/how-can-i-open-a-new-window-without-using-js
4) Работа с файлами
Загрузка файлов:
Отправка файлов в ASP.NET Core Blazor
https://docs.microsoft.com/ru-ru/aspnet/core/blazor/file-uploads?view=aspnetcore-5.0&pivots=webassembly
Для Net.Core 3.1
SteveSandersonMS/BlazorInputFile (Archived)
https://github.com/SteveSandersonMS/BlazorInputFile
Скачивание файла:
Для скачивания файла можно сделать endpoint - api controller и кнопку, которая перенаправляет на него.
Можно использовать NavigationManager.
5) Оптимизация рендеринга строк (RowId)
Optimising using @key
https://blazor-university.com/components/render-trees/optimising-using-key
6) Динамические отрисовка компонентов (динамическое выбор типа компонента)
How to Dynamically Render a Component in a Blazor Application
https://www.syncfusion.com/blogs/post/how-to-dynamically-render-a-component-in-a-blazor-application.aspx
Blazor - Как динамически создавать компоненты
https://question-it.com/questions/789772/blazor-kak-dinamicheski-sozdavat-komponenty
7) Виртуализация списков (частичный рендер списка)
Виртуализация компонентов ASP.NET Core Blazor
https://docs.microsoft.com/ru-ru/aspnet/core/blazor/components/virtualization?view=aspnetcore-5.0