在.NET 中使用Javascript 替代Lua

之前做了个项目,客户需要在程序运行时调用一个统计算法,但是该算法每个月都不一样,于是,我用上了Lua作为脚本,通过LuaInterface来调用该算法。

 

因为需求比较简单,所以很容易就实现了。但是Lua脚本我确实不太熟悉,万一以后有什么更复杂的需求,就比较麻烦了。后来找到了Google 开源的V8 Javascript引擎,利用它可以实现C++中调用Javascript,当然,按照惯例,一般都会出现v8 for .net 之类的东西,搜索了一下,果然找到了一个叫v8sharp 的开源项目。

 

下载后,只有源代码,果断编译。

(这里放上我编译好的库文件,供需要的朋友下载)

 

v8sharp for .net 3.5

 

v8sharp for .net 4.0

 

使用上比较简单,官方网站进去就有例子,我提供的下载里面也放入了官方的例子(例子比较少,不过足够了)。

 

这里贴上我测试的代码。

 

 

熟悉Js的朋友就可以利用这个来做为脚本了,比较方便。

 

补充说明一下:目前在处理中文字符串的时候,有些问题,在于从JS中返回字符串到.NET或者在JS中调用.NET方法传递中文字符串会出现乱码。

目前只有个替代解决办法,就是在传递的时候调用一次JS的encodeURI,在.NET中调用UrlDecode方法即可。

 

如果有朋友找到了解决办法,麻烦告知我一声。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值