我想允许我的用户使用脚本语言来进一步自定义我的应用程序 我正在寻找一个线程安全的可嵌入脚本引擎,因为它是一个ASP.NET应用程序。我查了一些引擎,比如Javascript.NET(https://github.com/JavascriptNet/Javascript.Net),但它不是Thread安全的。我发现的其他实现看起来不够稳定。
任何sugestions?
谢谢,
法比奥
答案 0 :(得分:3)
也许DLR下的IronPython或IronRuby适合?
您可以使用MEF标记扩展点,并允许脚本扩展应用程序的功能。
我们已经在MahTweets(WPF应用程序)中成功使用了它 - 但我无法保证在ASP.NET情况下使用它。
当然,如果您允许随机用户在您的应用程序中运行任意代码,那么线程安全将是您最不关心的问题。它们具有完全绕过您拥有的任何安全功能的全部功能,并可以更改/复制任何用户数据。 警告Emptor ..
答案 1 :(得分:2)
您也可以将Lua与LuaInterface(http://code.google.com/p/luainterface/)一起使用。根据您的抽象级别和/或用户编写脚本的自由度,如果您想引入脚本引擎,则可能需要重构大量代码。