这几天在试图把一个javascript的code封装成webservice。通过咨询王老师,得知有两个选项,一是利用nodejs,nodejs的存在就是为了把javascript用在server端;二是直接利用C#来调用这段javascript。考虑到最后webservice还会用到一些C#的library,而且自己相对对C#比较熟悉,所以从选项二开始研究,搜了一天C#call javascript以及C#call Javascript server,搜到的都是asp.net页面和javascript互调。只能再次咨询王老师,王老师几分钟内就抛给我n个选项,原来要搜C# call Javascript console。Console这个关键字很重要,我的搜索词之能引出asp.net这个server端代码,得在关键字上面用小众的来搜。
都是相当于实现了了一个js解释器
https://www.sitepoint.com/using-javascript-frameworks-inside-c-with-chakrabridge/使用Chakraengine
http://jint.codeplex.com/使用JINTengine
https://github.com/tjanczuk/edge nodejs和C#可以相互调用
Javascript.NET, integrate了Google V8 Javascript engine
试了JINT和Javascript.NET都提示functionrequire is undefined.才发现其实这段javascriptcode本身就是node.js的,而不是pureclient端的javascript,蓝瘦,香菇,被自己蠢哭了,接下来开始确认自己装了node和NPM,接下来configure好phantomJS。果然可以用node命令跑通了。
既然这段jscode是node.js的,继续研究用edge实现C#调用node.js.网上的sample很多都不work,可以访问node里面的string了,但还是不能访问node.js的function。要下班了,明天继续研究,sign…