要想在NodeJS中调用SS生成的DLL, 需要借助EdgeJS.
EdgeJS: http://tjanczuk.github.io/edge/
如果你还不知道如何在SS 中生成DLL, 请查看: Spider Studio 新版本 (x-mas) - 可以引入第三方程序集, 可以将脚本生成为DLL
下面以曾经写过的XML/JSON互转的脚本为例 (C#中 另辟蹊径解决JSON / XML互转的问题) 说明如何在NodeJS中应用SS DLL:
1. 安装edgejs
npm install edge
2. 为 www.utilities_online.info.XmlJsonConverter.dll编写一个javascript的代理 脚本
一共两个方法, Xml2Json & Json2Xml:
var edge = require('edge'); exports.xml2json = edge.func({ source: function() {/* using System.Threading; using System.Threading.Tasks; using www.utilities_online.info; public class Startup { public async Task<object> Invoke(object input) { object result = null; Thread t = new Thread(new ParameterizedThreadStart((p) => { using(var proxy = new XmlJsonConverter()) { proxy.Init(); result = proxy.Xml2Json(p.ToString()); } } )); t.SetApartmentState(ApartmentState.STA); t.IsBackground = true; t.Start(input); while (t.ThreadState != ThreadState.Stopped) { Thread.Sleep(100); } return result; } } */}, references: [ __dirname + '\\www.utilities_online.info.XmlJsonConverter.dll' ] }); exports.json2xml = edge.func({ source: function() {/* using System.Threading; using System.Threading.Tasks; using www.utilities_online.info; public class Startup { public async Task<object> Invoke(object input) { object result = null; Thread t = new Thread(new ParameterizedThreadStart((p) => { using(var proxy = new XmlJsonConverter()) { proxy.Init(); result = proxy.Json2Xml(p.ToString()); } } )); t.SetApartmentState(ApartmentState.STA); t.IsBackground = true; t.Start(input); while (t.ThreadState != ThreadState.Stopped) { Thread.Sleep(100); } return result; } } */}, references: [ __dirname + '\\www.utilities_online.info.XmlJsonConverter.dll' ] });
以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索thread
, using
, edge
, result
, proxy
, nodejs读取json文件
, nodejs应用
, Nodejs生成Excel表格
, threading
, json2
, 字典和JSON互转
, map和json互转
json格式互转
nodejs调用dll、nodejs调用dll方法、nodejs 调用c dll、c调用matlab生成的dll、qt 调用 vs生成的dll,以便于您获取更多的相关知识。