Здравствуйте, Serginio1, Вы писали:
S>Как известно в .Net Core нет AppDomain.
S>Но можно использовать например .Net Core, AppDomain, WCF, RPC маршалинг по Tcp/Ip свой велосипед
S> А в качестве песочницы можно использовать терминальные сессии или виртуальные машины.
Утверждение из серии "В наборе нет часовой отвёртки? Можно использовать хорошо заточенную лопату". Каждой проблеме — свои решения. AppDomain-ы позволяют разместить в _одном_ процессе множество "недоверенных" модулей без побочных эффектов от совместного хостинга. Прям из коробки доступно API хоста, которое в противном случае придётся переизобретать самому.
Навскидку:
* тру-RPC style IPC (с невозможностью подрубиться с другой машины / другой сессии. Ваятели хостов этот момент очень часто забывают) с поддержкой notifications, lease, callbacks etc.
* API для assembly probing/redirection/etc
* live update (via shadow copy assemblies)
* API для per-appdomain monitoring — gc & cpu time.
* шаринг бинарного кода
* совместимость всего вышеперечисленного с любым нативным хостом вплоть до in-process hosting в ms sql
Ну и в случае, если модули действительно недоверенные, хост с аппдоменами очень легко вытащить в отдельный low integrity process, включить peverify в процесс развёртывания и пусть код пытается сбежать из курятника до посинения.
С интересом жду готового решения со всем вышеперечисленным на docker.