Lenguaje de scripting en un Sandbox para una aplicación C#/.NET
embedded scripting-language (2)
[Esta pregunta es similar a esta , pero también me interesa la posibilidad de una caja de arena.]
Estoy considerando incorporar un lenguaje de scripting en mi aplicación C # / .NET y luego exponer parte de la API de mi aplicación a los scripts. Parece que hay varias opciones buenas para esto (Lua, Boo, IronPython, etc.), pero ¿hay opciones fáciles para restringir el uso de las funciones integradas del lenguaje de scripting? Por ejemplo, no quiero que las secuencias de comandos puedan realizar E / S, excepto a través de la API expuesta explícitamente, por lo que no se imprime en la consola, se abren archivos, etc. ¿Alguno de estos lenguajes de scripting proporciona una manera fácil de hacerlo ¿esta?
Puede cargar el script en un AppDomain diferente y controlar los permisos del segundo AppDomain.
Este enlace debe comenzar:
http://blogs.msdn.com/shawnfa/archive/2005/08/08/449050.aspx
He utilizado Powershell como lenguaje de scripting en Windows y me pareció muy útil, y si está familiarizado con .NET, es mucho más fácil.
Descargue aquí un documento de referencia de dos páginas , esto es todo lo que necesitará para comenzar.
Pero sí, puede usar el espacio de nombres .NET System.IO para realizar operaciones IO a través de Powershell
mismo publicado # este enlace