Обложка канала

.NET Разработчик

Опытный разработчик не так давно зашёл в .Net и поставил цель получить сертификат Microsoft. Свой ежедневный прогресс он описывает на канале .Net Разработчик. Заметки об изученном материале, советы по повышению производительности и поддержке мотивации, ин

.NET Разработчик

3 года назад
Открыть в
День 1534. #ЧтоНовенького DotNetIsolator Вам когда-нибудь требовалась изолированная песочница для запуска кода? Мне тоже нет, но вдруг когда-нибудь пригодится. Сегодня порекомендую вам видео от разработчика Microsoft Стива Сандерсона. Он описывает новый экспериментальный пакет для создания такой изолированной среды – DotNetIsolator. Пакет позволяет вашему коду .NET легко запускать другой код .NET в изолированной среде. Вы можете создать столько сред, сколько хотите. Каждая из них на самом деле является песочницей WebAssembly. Дело в том, что внутри WebAssembly мы можем исполнять код .NET. Но и сам .NET может создавать и управлять средой WebAssembly. DotNetIsolator соединяет две эти концепции. Каждая среда имеет совершенно отдельное пространство памяти и не имеет прямого доступа к диску/сети/ОС/и т. д. хоста. Вы можете из .NET создавать экземпляры IsolatedRuntime и осуществлять вызовы в ней, создавать экземпляры IsolatedObject в этих средах выполнения и вызывать их методы, либо просто вызывать лямбда-методы внутри среды напрямую. Вы можете передавать/захватывать/возвращать произвольные значения через границу сред. Подробное объяснение с несколькими примерами в видео https://youtu.be/5u1UaqkPZbg Замечание: это экспериментальный пакет, и для него не существует поддержки или технической помощи. Он может будет развиваться дальше, а может и нет. В нём обязательно есть пробелы в функциональности. А также автор не предоставляет никаких гарантий безопасности. В общем, для производственного кода он явно не подходит, но поиграться, кому интересно, можно.