当前位置: 首页 > news >正文

旅游类网站策划建设_青岛建设网站的公司

旅游类网站策划建设_,青岛建设网站的公司,网站建设工作组,营销管理培训课程培训班原文链接#xff1a;https://blog.csdn.net/Marcus2006/article/details/104986130 背景#xff1a;1. 为了最大限度复用我们自己之前写的C#库的功能 2. 给我们的工具只提供了JS的流程(:) #xff0c;组织忽悠其他人员C#难用#xff0c;JS好用。 目前edge-js提供了强…原文链接https://blog.csdn.net/Marcus2006/article/details/104986130 背景1. 为了最大限度复用我们自己之前写的C#库的功能 2. 给我们的工具只提供了JS的流程(:) 组织忽悠其他人员C#难用JS好用。 目前edge-js提供了强大的JS与CLR的交互能力任何属于CLR的语言都可以与JS交互。其实edge-JS是edge编译出来的JS版可以被JS用来和C#交互。之前我尝试用nodeJS(12.16.1)VS2017VS2015 BuildTools编译edge老是报错就放弃了。后来被告知edge-js有编译好的对应node版本就用上了。 效果nodeJS项目成功与C#库交互nodeJS的传给callback也能被正确调用。 环境Win10 Pro 64bit , VS2017 , NodeJS12.16.1 (64bit) 业务流程 1. JS传 1和2 给C# 2. C#计算传进来的12的和 即3 3. C#调用JS的callback把3传给JS 4. JS的callback把传进来的结果1即4 再传回C# 5. C#调用另一个functon把结果乘以2得到8返回JS显示最终结果 实现步骤 1. 创建一个简单的C# dll项目 NodeJS与C#项目要一致这里都是64位否则NodeJS报错只显示error没有详细信息很难debug。 注C# 选AnyCPU都不行。 2. 生成NodeJS项目安装edge-js npm包 3. 编写方法给JS用.这部分代码是参考edge的How to: call Node.js from C# 写的。 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks;   namespace calc {     public class Class1     {          public async Taskobject IAdd(dynamic input)         {             await Task.Delay(0);             int a (int)input.a;             int b (int)input.b;             Funcdynamic, Taskobject c (Funcdynamic, Taskobject)input.c;             var rc  await  c(ab); //JS callback返回的结果             System.Diagnostics.Debug.WriteLine(Result from JS callback is rc);             return Add((int)rc);         }         public int Add(int rc)         {             return rc*2;         }     } } 4. 编写JS代码。 var edgeJS require(edge-js);   var iadd edgeJS.func({     assemblyFile: calc/calc/bin/x64/Debug/calc.dll,     typeName: calc.Class1,     methodName: IAdd // This must be Funcobject,Taskobject }); var input{a:1,     b:2,     c:function(data,callback){         console.log(this function is called in c#, passed in param is : data);         //100 is the result from JS to C# , C# could use it to do subsequent steps         //callback( new Error(In case there is a error , Specifyin it end up with whole JS terminated),data1);//必须有2个参数。第一个参数代表error表示JS里调用出错了导致整个APP停止.         callback( null,data1);     }}; iadd(input,function(err,result){ if (err)  {     console.log(err);     return; } console.log(this result is returned from C# :result); }); 5. VS2017编译C#项目VS Code运行NodeJS项目可以看到结果 参考 C#调用NodeJS的callback是有要求的原文如下。即必须是2个参数第一是error对象第二个是JS返回给C#的结果 其他参考
http://www.zqtcl.cn/news/430880/

相关文章:

  • 视频聚合网站怎么做不侵权wordpress 管理员插件
  • 传媒网站后台免费模板网站建设的进度计划
  • 如何做网站排名合肥全网优化
  • 网站建设招聘信息官网 wordpress
  • 城阳网站开发公司网页制作与设计在哪搜题
  • 做网站算运营吗grace wordpress
  • 厦门建设网站建站制作网页动画的软件
  • 百度提交网站收录入口郑州网站app开发
  • 自己的身份已经网站备案了品牌建设目标包括哪些方面
  • 中国免费网站服务器下载保定网站制作系统
  • 深圳app网站设计数据库网站建设公司
  • 手机网站程序下载做地方黄页网站
  • 网站开发时如何设计英文版本专业vi机构
  • 黄骅市人事考试网电商网站怎样优化
  • 可信网站认证必须做吧陕西做网站的
  • 网站怎么静态化wordpress视频安装教程
  • 合浦县建设局网站网站备案号如何查询
  • 网站跳转代码 html亚马逊使用wordpress做的
  • 做哪一类的网站可以短时间变现东莞大朗网站设计
  • 框架网站模板建设淘宝客网站.lc和ev
  • 驻马店做网站推广涞源县住房和城乡建设局网站
  • 国外seo大神如何做网站 seo
  • 网站建设外文版要求昆山网站建设怎么样
  • 合肥知名网站制作网站建设宣传的目的
  • 曲阜做网站哪家好asp.net网站打不开html页面
  • 品牌网站开发普通人做电商赚钱吗
  • 网站建设与维护理解视频当背景图片 网站开发
  • 站酷设计师网站wordpress 设置静态内容缓存时间
  • 网站推广做什么好看的电商网站模板下载
  • 如何打破违法网站wordpress 无法上传文件