用于C#/ .NET应用程序的沙箱中的脚本语言

时间:2009-02-19 08:06:45

标签: c# embedded scripting-language

[这个问题类似于this one,但我也对沙盒的可能性感兴趣。]

我正在考虑在我的C#/ .NET应用程序中嵌入脚本语言,然后将我的一些应用程序API暴露给脚本。似乎有很多好的选择(Lua,Boo,IronPython等),但是有没有简单的选项限制脚本语言的内置函数被使用?例如,我不希望脚本能够执行I / O,除非通过我明确公开的API,因此不打印到控制台,打开文件等。这些脚本语言中的任何一种都提供了一种简单的方法此?

2 个答案:

答案 0 :(得分:4)

您可以将te脚本加载到其他AppDomain中,并控制第二个AppDomain的权限。

这个链接应该让你开始:
http://blogs.msdn.com/shawnfa/archive/2005/08/08/449050.aspx

答案 1 :(得分:3)

我自己在Windows上使用Powershell作为脚本语言,发现它非常有用,如果你熟悉.NET,那就更容易了。

下载两个page reference document here,这就是您开始使用的全部内容。

但是,您可以使用.NET System.IO命名空间通过Powershell执行IO操作

同样发布了#this link