Comments 7
Небольшое дополнение — если хотите выгружать сборки — надо под них создавать отдельный домен, поскольку дотнет их только вместе с доменом выгружать и умеет. Но за это придётся платить тем, что вызовы к сборке пойдут через Remoting со всеми вытекающими.
Сейчас наверное уже стоит смотреть на Compiler as a Service.
что-то мне подсказывает, что называть такое «безопасное выполнение кода» — сильно преувеличивать
А Visual Studio умеет олаживать (дебажить?) таким образом скомпилированный код?
Ну допустим если для, скриптинга использовать, то как писатель скрипта сможет брекпойнт поставить?
Ну допустим если для, скриптинга использовать, то как писатель скрипта сможет брекпойнт поставить?
«В вашем приложении нужно выполнять код, который не известен на этапе компиляции приложения. Это могут быть разнообразные плагины, расширения, вычисления и т.д.»
Из пушки по воробьям?
Нет, я понимаю, что ограничивать песочницу очень полезно. Но зачем плагины и расширения компилировать? CAS и без нее прекрасно работает.
Более того, у вас в примере CAS включен декларативно (т.е., зафиксирован на этапе компиляции), а .net умеет его конфигурировать императивно, что намного удобнее — вы можете разный код запускать с разными правами.
Из пушки по воробьям?
Нет, я понимаю, что ограничивать песочницу очень полезно. Но зачем плагины и расширения компилировать? CAS и без нее прекрасно работает.
Более того, у вас в примере CAS включен декларативно (т.е., зафиксирован на этапе компиляции), а .net умеет его конфигурировать императивно, что намного удобнее — вы можете разный код запускать с разными правами.
Sign up to leave a comment.
Компиляция и безопасное выполнения кода «на лету»