NScript 是 .net 动态脚本引擎, 解决.net环境windows系统下类似java中Grovvy的功能和方向。在互联网项目可以用来做动态营销活动(营销业务解耦和剥离),规则引擎,流程引擎,windows运维脚本,源码式插件开发等。
包括exe Main方式,程序集方式,应用程序域三种方式。
BSF.BaseService.NScript.exe
exe 说明 1) 可以用cmd命令运行本exe /run 命令格式:/run {filename} {args} 说明:必须实现Main入口函数. {filename} 为文件路径,{args}为Main入口参数,默认空格分隔。 /help 命令格式:/help 说明:用户查看当前exe支持的命令说明。 2)exe本身就是脚本编辑器。 可以用作.net 脚本的编辑工具,在实际运行环境中直接编辑或临时修改代码,开发环境中建议还是使用vs。 3)exe本身也是脚本运行时。 整个脚本解析和运行时。 4) exe大小 exe 本身很小很小,因为打包合并了第三方编辑器控件,才变更大些。 5)exe可以被解决方案以dll方式引用,并使用NScriptHelper接口方法。
说明:
以exe命令的方式运行脚本示例
1. 点击“运行.bat”
2. 点击 "bsf.baseservice.nscript.exe" 进行脚本编辑及调试。
截图:
压缩包下载:http://share.weiyun.com/043fe46f11aabc1c2c17eb4d7cfa1e00
(或git源码目录下/文档/demo)
说明
1) 解决方案引用"BSF.BaseService.NScript.exe"
2) 程序集方式及应用程序域方式使用代码demo。
{ this.richTextBox1.Text = @" public class B { //static void Main(string[] args) //{ // System.Console.WriteLine(""hello""); // System.Console.ReadLine(); // System.Console.ReadKey(); //} public string test(string a) { return a; } }"; } //程序集方式 private void button1_Click(object sender, EventArgs e) { try { string code = this.richTextBox1.Text; CompilerResult result = null; var r = NScriptHelper.Run(new CompilerParams() { EnumSourceType = Core.EnumSourceType.Code, EnumCompilerMode = Core.EnumCompilerMode.Assembly, CodeOrFileName = code }, "B", "test", new object[] { "a" }, out result); MessageBox.Show(r); } catch (Exception exp) { MessageBox.Show(exp.Message); } } //应用程序域方式 private void button2_Click(object sender, EventArgs e) { try { string code = this.richTextBox1.Text; CompilerResult result = null; var r = NScriptHelper.Run(new CompilerParams() { EnumSourceType = Core.EnumSourceType.Code, EnumCompilerMode = Core.EnumCompilerMode.AppDomian, CodeOrFileName = code }, "B", "test", new object[] { "a" }, out result); MessageBox.Show(r); } catch (Exception exp) { MessageBox.Show(exp.Message); } }
NScript 基于 .Net 框架的 Windows 脚本工具集; 脚本宿主和相关文件 nwscript.exe - .Net Windows 脚本宿主; ncscript.exe - .Net Console 脚本宿主; checkpath.exe - 命令行工具,检查命令的文件路径; 脚本扩展名 *.vbx - .Net Visual Basic 脚本文件; *.csx - .Net C#
问题内容: 我正在尝试对聚合执行以下查询: 并引发以下异常: 任何想法我该如何解决。参考: http://www.elasticsearch.org/guide/zh- CN/elasticsearch/reference/current/search-aggregations-metrics-sum- aggregation.html 问题答案: 默认情况下,elasticsearch中禁用动态
我正在尝试以下关于聚合的查询: 它引发以下异常: 你知道我该怎么解决这个问题吗。参考: http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/search-aggregations-metrics-sum-aggregation.html
本文向大家介绍Python中的 ansible 动态Inventory 脚本,包括了Python中的 ansible 动态Inventory 脚本的使用技巧和注意事项,需要的朋友参考一下 1.Ansible Inventory 介绍; Ansible Inventory 是包含静态 Inventory 和动态 Inventory 两部分的,静态 Inventory 指的是在文件中指定的主机和组,
问题内容: 我正在使用詹金斯管道项目。在脚本中,我想以动态方式编写 并行 块,因为节点数可以更改。例如,从此: 像这样 但是这种方式行不通,Groovy / Jenkins对这种语法不满意。有人可以建议一种更好的方法吗? 问题答案: 您可以像先定义节点图一样,然后将其执行为。
Groovy 不仅仅被用来定义一个任务可以做什么. 举个例子, 你可以使用它来动态的创建任务. 例子 6.8. 动态的创建一个任务 build.gradle 4.times { counter -> task "task$counter" << { println "I'm task number $counter" } } 这里动态的创建了 task0, task
一个非常小的script脚本引擎,可以同时在j2me / j2se / c++ platform上面运行 它的目标是使用这个脚本引擎便于开发一个更加灵活的j2me 游戏这个脚本有点像BASIC这东西不错,是一个开源的脚本引擎,大家可以学习里面的思想里面其中带了一个例子,是3子棋。感觉挺不错的。这东西在SF也挺活跃的。
本文向大家介绍vue如何实现动态加载脚本,包括了vue如何实现动态加载脚本的使用技巧和注意事项,需要的朋友参考一下 这篇文章主要介绍了vue如何实现动态加载脚本,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 今天在研究,tinymce富文本编辑器怎样在vue中使用,然后看到其它框架上的使用方法,它是动态加载tinymce脚本的,若果在本地引入静态
问题内容: 我正在尝试根据文档中的值创建动态参数。 我到目前为止在这里尝试过 这引发了以下错误: 我想使参数动态化,以便doc值确定要扣除的值。 使用ElasticSearch 7.2 一个复杂而糟糕的方法是使用以下脚本 Es对象: 问题答案: 您需要尝试不使用单引号。