自定义映射别名
有使用了这个库的朋友向我反映,如果不加在全局程序集,则在JS当中实例化.NET类会相当的麻烦,例如要用到下面的代码。
每次都必须写一长串这样的名称,实在是降低了开发效率。
如果在每次程序启动去加载全局程序集,问题也比较大,因为整个.NET的程序集相当多,这样的话,又费时间又费内存(大概需要5-10秒左右的时间来加载程序集,大大降低了程序的运行效率),虽然可以做一个启动画面来让用户等待,但是对于一些小程序来说,这样的做法未免太浪费资源了。
之前恰好看到了一篇开源的.NET脚本引擎,对于在脚本当中实例化.NET的Class,它使用了别名的方式,于是,我也重新增加了这样的方式,可以通过代码来添加映射,也可以通过配置文件来添加,具体代码如下。
通过配置文件:
参数说明: StartEngine:是否启动脚本引擎 RelativePath:是否为相对路径 ScriptPath:脚本目录,根据RelativePath填写相对或绝对路径,相对路径只需要填写脚本目录名称即可 CreateGACMapping:是否创建全局程序集映射,该操作耗时5-10秒,如果创建了映射,则可以简单的通过限定名称(命名空间+类名)在JS中实例化.NET类,而无需 指定强名称 CreateMappingAsyn:是否通过异步方式创建映射,以免阻塞主线程 -->
通过代码:
在JS脚本当中实例化: