ASP.NET应用程序的脚本引擎

6
我希望让我的用户使用脚本语言来进一步定制我的应用程序。由于它是一个ASP.NET应用程序,因此我正在寻找一个可嵌入的脚本引擎,它是线程安全的。我检查了一些引擎,例如Javascript.NET (https://github.com/JavascriptNet/Javascript.Net),但它不是线程安全的。我发现的其他实现看起来不够稳定。
有任何建议吗?
谢谢,
法比奥

现在的JavaScript.Net是线程安全的,但如果您想让多个线程调用引擎的同一实例,则需要进行一些自己的锁定。 - Oliver Bock
2个回答

3
也许DLR下的IronPython或IronRuby更合适?
您可以使用MEF标记扩展点,并允许脚本扩展应用程序的功能。
我们在MahTweets(一个WPF应用程序)中成功使用了它——但我不能保证在ASP.NET情况下使用它。
当然,如果您允许随机人员在应用程序中运行任意代码,线程安全将是您最不用担心的问题。他们将完全绕过您拥有的任何安全功能,并更改/复制任何用户数据。买家自负..

请不要称呼我的用户为“随机的人”。他们很容易受到冒犯 :)。 - Fabio
抱歉,“未知第三方” :p - user111013
2
如果您为运行脚本引擎启动一个新的AppDomain并对其设置严格限制,那么您应该能够基本上锁定脚本环境。 - Pauli Østerø

2

您也可以使用类似LuaInterface (http://code.google.com/p/luainterface/) 的东西来使用Lua。根据您对抽象级别和/或用户编写脚本的自由程度的要求,如果想引入脚本引擎,您可能需要重构大量代码。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接