2011-01-03 2 views
6

Я хочу, чтобы мои пользователи использовали язык скриптов для дальнейшей настройки моего приложения.
Я ищу встраиваемый механизм сценариев, который является потокобезопасным, потому что это приложение ASP.NET. Я проверил некоторые двигатели, такие как Javascript.NET (https://github.com/JavascriptNet/Javascript.Net), но это не Thread safe. Другие реализации, которые я нашел, выглядят недостаточно стабильными.Scripting Engine для приложения asp.net

Любые санкции?

Спасибо,

Fabio

+0

В настоящее время JavaScript.Net является потокобезопасным, хотя вам нужно сделать некоторые из ваших собственных блокировок, если вы хотите, чтобы несколько потоков вызывали в один и тот же экземпляр движка. –

ответ

3

Возможно IronPython или IronRuby под DLR подходит?

Вы можете пометить свои точки расширения с помощью MEF и разрешить скриптам расширять функциональность вашего приложения.

Мы успешно использовали его в MahTweets (приложение WPF), но я не могу ручаться за его использование в ситуации ASP.NET.

Конечно, безопасность потоков будет вашей наименьшей проблемой, если вы позволяете случайным людям запускать произвольный код в вашем приложении. Они будут иметь полные возможности полностью обойти любые функции безопасности, которые у вас есть, и изменять/копировать любые пользовательские данные. Caveat Emptor ..

+0

Пожалуйста, не назовите моих пользователей «случайными людьми». Их легко обидеть :). – Fabio

+0

Извините, «Неизвестные третьи стороны»: p –

+2

, если вы запустили новый AppDomain для запуска вашего механизма сценариев и установите для него серьезные ограничения, вы должны иметь возможность блокировать среду сценариев. –

2

Вы также можете использовать Lua с чем-то вроде LuaInterface (http://code.google.com/p/luainterface/). В зависимости от вашего уровня абстракции и/или свободы для пользователя, записывающего сценарий, вам, возможно, придется реорганизовать много кода, если вы хотите ввести механизм сценариев.

Смежные вопросы