在c#代码中沙箱JavaScript并执行它
本文关键字:JavaScript 执行 代码 | 更新日期: 2023-09-27 17:53:14
是否有可能在c#代码中沙箱一个JavaScript函数,通过传递一个参数(如数组)来执行它,并返回结果?这里不涉及web浏览器,这不是Ajax或'registerstartupscript'类型的问题。
根据我自己的经验,对于简单的事情,侏罗纪工作就像一个魅力,它是一个JavaScript,可以用来运行时编译JavaScript和调用函数,变量或任何东西。
例如,从他们自己的文档页面:
var engine = new Jurassic.ScriptEngine();
Console.WriteLine(engine.Evaluate("5 * 10 + 2"));
还有其他的选择,包括嵌入一个完整的JavaScript引擎,但AFAIK和阅读你的问题的要求,似乎侏罗纪应该在你的情况下工作,你得到使用c#编写的托管JavaScript编译器的优势,所以没有其他依赖于BCL从。net和侏罗纪本身。
是的,你可以!
JavaScript。.NET是Google V8引擎的。NET移植版。
- https://github.com/JavascriptNet/Javascript.Net
另一个我很喜欢的叫做侏罗纪,它可以在nuget上找到。
- https://jurassic.codeplex.com/