我希望让我的用户使用脚本语言来进一步定制我的应用程序。由于它是一个ASP.NET应用程序,因此我正在寻找一个可嵌入的脚本引擎,它是线程安全的。我检查了一些引擎,例如Javascript.NET (https://github.com/JavascriptNet/Javascript.Net),但它不是线程安全的。我发现的其他实现看起来不够稳定。有任何建议吗?谢谢,法比奥
也许DLR下的IronPython或IronRuby更合适?您可以使用MEF标记扩展点,并允许脚本扩展应用程序的功能。我们在MahTweets(一个WPF应用程序)中成功使用了它——但我不能保证在ASP.NET情况下使用它。当然,如果您允许随机人员在应用程序中运行任意代码,线程安全将是您最不用担心的问题。他们将完全绕过您拥有的任何安全功能,并更改/复制任何用户数据。买家自负..
您也可以使用类似LuaInterface (http://code.google.com/p/luainterface/) 的东西来使用Lua。根据您对抽象级别和/或用户编写脚本的自由程度的要求,如果想引入脚本引擎,您可能需要重构大量代码。