2016-10-20 EdgeJS, C#<=>node.js
2016-10-20 14:04
309 查看
花了一个多小时研究为什么C#调用jsfunction不work。这是梳理过程。
1 script Node.js from C# works.
public
static
async
Task Start()
{
var func =
Edge.Func(@"
returnfunction (data, callback) {
callback(null, 'Node.js welcomes ' + data);
}
");
Console.WriteLine(await
func(".NET"));
}
static
void Main(string[]
args)
{
Start().Wait();
Console.ReadLine();
}
2. Move exact js to js file works.
C# Program.cs:
public
static
async
Task Start()
{
var func =
Edge.Func(@"return
require('../edgeEntryPoint.js')");
Console.WriteLine(await
func.Invoke(".NET"));
//also can written like this
//var invoke = func.Invoke(".NET");
//var c = (dynamic)invoke.Result;
//Console.WriteLine(c); //Node.js welcomes .NET
//Console.WriteLine(await func(c));
//Node.js welcomesNode.js welcomes .NET
}
static
void Main(string[]
args)
{
Start().Wait();
Console.ReadLine();
}
edgeEntryPoint.js:
module.exports =
function (data, callback) {
callback(null,
'Node.js welcomes ' +data);
}
3. function has more than one parameters. works
C#:
var invoke = func.Invoke(new
{data1=".NET", data2=".NET2"});
JS:
这个method可以像正常node.js一样,require任何文件和调用任何function
module.exports =
function (data, callback) {
callback(null,
'Node.js welcomes ' +data.data1 + data.data2);
}
花了一个多小时研究为什么C#调用jsfunction不work。这是梳理过程。
1 script Node.js from C# works.
public
static
async
Task Start()
{
var func =
Edge.Func(@"
returnfunction (data, callback) {
callback(null, 'Node.js welcomes ' + data);
}
");
Console.WriteLine(await
func(".NET"));
}
static
void Main(string[]
args)
{
Start().Wait();
Console.ReadLine();
}
2. Move exact js to js file works.
C# Program.cs:
public
static
async
Task Start()
{
var func =
Edge.Func(@"return
require('../edgeEntryPoint.js')");
Console.WriteLine(await
func.Invoke(".NET"));
//also can written like this
//var invoke = func.Invoke(".NET");
//var c = (dynamic)invoke.Result;
//Console.WriteLine(c); //Node.js welcomes .NET
//Console.WriteLine(await func(c));
//Node.js welcomesNode.js welcomes .NET
}
static
void Main(string[]
args)
{
Start().Wait();
Console.ReadLine();
}
edgeEntryPoint.js:
module.exports =
function (data, callback) {
callback(null,
'Node.js welcomes ' +data);
}
3. function has more than one parameters. works
C#:
var invoke = func.Invoke(new
{data1=".NET", data2=".NET2"});
JS:
这个method可以像正常node.js一样,require任何文件和调用任何function
module.exports =
function (data, callback) {
callback(null,
'Node.js welcomes ' +data.data1 + data.data2);
}
相关文章推荐
- IT前沿技术之node.js篇<三>:Node.js与服务端模板引擎
- node.js 学习<一>
- <node.js爬虫>制作教程
- 概念笔记之 [Node.js<-2->]NPM使用总结
- 概念笔记之 [Node.js<-1->]编程环境
- 一个周末掌握IT前沿技术之node.js篇<一>:Node.js与javascript
- 【node.js】mongodb<二>
- 好厉害的库edge.js!实现C#与node.js互操作
- 初识Node.js<一>DNS查询的例子
- nodejs + edge + ejs + c#
- 【技术】IE7、IE8下,js不起作用,在头部加<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
- node.js源码分析 <一>
- IT前沿技术之node.js篇<二>:Node.js与redis
- IT前沿技术之node.js篇<一>:Node.js与javascript
- <<node.js探秘>>(01).入门
- 概念笔记之 [Node.js<-3->]REPL使用总结
- IT前沿技术之node.js篇<七>:Node.js与HBase
- <了不起的NODEJS>学习笔记
- nodejs npm 错误 Error: UNKNOWN: unknown error, mkdir 'D:\Develop\nodejs\node_global' at Error <native>
- js Array to C# List<Dictionary>(js 传参 自定义类列表 到C#)