Песочница в ядре .net - PullRequest
       26

Песочница в ядре .net

0 голосов
/ 20 октября 2019

Мне было интересно, как я могу добиться песочницы в ядре .net, поскольку домены приложений не поддерживаются в ядре .net для этого. Кроме того, я не могу использовать виртуализацию или контейнеры Docket, потому что эти вещи недоступны на моей целевой машине.

1 Ответ

0 голосов
/ 20 октября 2019

На .NET Core документы, похоже, ваши возможности немного ограничены.

Без проблемных технологий. .NET Core не включает в себя определенные технологии, которые мы решили использоватьпрекратить, потому что мы обнаружили, что они проблематичны, например, AppDomain и песочница. Если сценарий по-прежнему имеет смысл для .NET Core, мы планируем заменить его. Например, AssemblyLoadContext заменяет домены приложений для загрузки и изоляции сборок.

Домены приложений

Почему оно было прекращено? Домены приложенийтребует поддержки во время выполнения и, как правило, довольно дорогоХотя он по-прежнему реализован в CoreCLR, он недоступен в .NET Native, и мы не планируем добавлять туда эту возможность.

Что мне следует использовать вместо этого? Домены приложений использовались для различных целей. Для изоляции кода мы рекомендуем процессы и / или контейнеры. Для динамической загрузки сборок мы рекомендуем новый класс AssemblyLoadContext.

Поскольку вы не можете использовать контейнеры, похоже, что единственный вариант - запустить вашу песочницу в отдельном процессе.

Источник : https://blogs.msdn.microsoft.com/dotnet/2016/02/10/porting-to-net-core/

...