Выполнение кода C # или VB.NET во время выполнения - PullRequest
3 голосов
/ 11 апреля 2011

Недавно провел некоторое время на Codility.com, и это пришло мне в голову; как они исполняют созданный вами код (в частности, C # и VB.NET)?

Что меня в основном интересует, так это как взять текстовое поле в форме, ввести в него какой-то код и запустить этот код? Это возможно без сторонних инструментов?

Кроме того, как бы вы предотвратили нарушения безопасности, конкретно относящиеся к веб-реализации такой программы?

Ответы [ 3 ]

3 голосов
/ 11 апреля 2011

Взгляните на http://msdn.microsoft.com/en-us/library/system.codedom.compiler.aspx Выполнение такого кода в веб-приложении на самом деле является проблемой безопасности. .Net предоставляет набор функций, которые помогут вам решить эту проблему, например, возможность запуска вашего скомпилированного кода в другом домене приложения от имени другого пользователя.

3 голосов
/ 11 апреля 2011

С классом CSharpCodeProvider вы можете компилировать код (в виде строки) во время выполнения.

2 голосов
/ 11 апреля 2011

Вы можете скомпилировать код в VB.Net и C # во время выполнения. Взгляните на код, чтобы сделать это здесь

...