Кто из админов не знает утилиты SysInternals (Winternals) для администрирования и диагностики Windows? Кажется, они известны с незапамятных времён. Но не каждый в курсе, что эти незаменимые инструменты написаны вовсе не компанией Microsoft. Скорее наоборот, они написаны вопреки её желанию.
И здесь мы подходим к личности автора, талантливого и суперпродуктивного программиста Марка Руссиновича. Он показал, что один умный парень способен интеллектуально продавить мегакорпорацию. И той придётся заплатить ему огромные деньги, и даже взять на работу. Потому что повторить его программы она не сумела…
В заметке описан способ динамического добавления на страницу компонентов по JSON-описанию с помощью DynamicComponent из ASP.NET Core 6.0 (в настоящее время в статусе Preview).
Динамическое создание компонентов пригодится например при реализации конструктора форм:
• Форма описывается JSON-ом;
• Элементы (или контролы) формы не ограничены предустановленным набором. Контролы можно добавлять, в том числе подгружать из других dll-библиотек.
Представим, что у вас клиент-серверное приложение, REST API на бекенде и какая-нибудь форма на фронте. И вот наступает момент, когда в баг-трекере появляется запись "создалось N дубликатов <вставьте ваше слово>". Начинаете выяснять, оказывается что на клиенте кнопка сохранения не меняла статус на disabled в процессе сохранения, а у клиента ускоренный метаболизм, и он успел много раз по ней нажать, пока интерфейс не сообщил заветное "ок".