问题标签 [edge.js]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1068 浏览

javascript - 从 edge.js 与 C# 主机通信

我正在尝试为演示搭建一个快速的 node.js/edge.js/C# 桥。

我必须使用“.Net 调用 Node.js”样式,因为现有的 C# 代码使用了许多配置值,我无法将它们添加到 node.exe.config 中,因为我需要同时运行多个版本。

所以我有这个代码:

因此,代码在事件循环中等待消息并做出响应。这一切都适用于硬编码值。但是我需要将消息提交回 C# 进行处理,我无法弄清楚如何在 edge.js 和 C# 应用程序之间来回通信。

它肯定是通过回调,但我似乎无法开始弄清楚如何构造它,而且时间越来越短了。而且我绝不是 JavaScript 专家。

如何使用回调在事件循环内的边缘代码和 C# 代码之间进行通信?

0 投票
0 回答
514 浏览

node.js - socket.io 和垃圾收集

我使用 socket.io 开发了一个实时文本网络应用程序,它可以在网页上连续显示文本。当我在下面运行我的代码时,多个客户端连接服务器上 V8 javascript 进程的内存使用量继续增长,垃圾收集似乎没有发生。我的代码有什么问题吗?我在某处有内存泄漏吗?

这是调用我的 .net 代码以获取实时文本的 edge.js 代码

0 投票
0 回答
166 浏览

node.js - Edge.js 将缓冲区传递给回调

我正在使用 Edge.js 在我的 F# 代码中执行 node.js 模块。我的节点模块返回 Stream 并且我发现,我应该用节点缓冲区编组它。

我从 .NET 调用的函数如下所示:

当我从 node.js 调用这个函数时它工作得很好,但是使用 Edge.js 它挂起并且永远不会等待任务。Edge.js 对流有什么特别的作用吗?我错过了什么吗?

0 投票
1 回答
1134 浏览

javascript - 通过 node.js 将 Visual Studio 调试器附加到电子边缘应用程序

我创建了一个具有Invoke函数的小型 C# 库原型。

该函数的结果是一个新对象,其中包含一个int。我已经在我的 node/electron/edge.js 应用程序中确认数据已成功从 C# dll 传递到我的应用程序。(即 C# 代码和 JavaScript 可以像我期望的那样协同工作。)

由于这是一个更复杂系统的原型,我希望能够将 Visual Studio 调试器附加到节点(或电子?)进程,让它加载 C# dll 的调试符号文件并允许我逐步完成我的 C# dll 根据 Edge.js 文档(请参阅此处的 github 页面)。我已将 C# dll 和 .pdb 文件复制到电子应用程序目录。

因此,我在 Visual Studio 的 C# 类中设置了一个断点,然后将调试器附加到“托管”node.exe 进程。我注意到的第一件事是有两个 node.exe 进程正在运行,这两个进程都没有文档中提到的“托管”描述。

我尝试先附加到一个,然后附加到另一个,但在我的 edge.js 调用 C# dll 函数后无法命中断点。我检查了 Debug->Windows->Modules 并看到实际上没有加载任何模块。沮丧的是,我将调试器附加到电子进程(具有“托管”描述),我的 C# dll 突然出现,并在 Debug->Windows->Modules 页面中加载了符号!唉,我的断点仍然没有被击中。

有谁知道是否有办法让 Visual Studio 中的调试器实际附加到节点/电子应用程序并允许在关联的 C# dll 中进行详细调试?

0 投票
1 回答
2646 浏览

c# - 我在哪里放置 dll 以供 edge.js 访问

我一直在使用 edge.js 从我的 Node.js 应用程序中调用 C# 函数,但是当我去执行 C# 代码时,例如:

找不到元数据文件“System.Collections.Generic.dll”

找不到元数据文件“System.Text.dll”

...

我的代码如下,基本上是想使用我从 C# 调用的存储过程来运行 SSIS 包。基本上我所有引用的dll都找不到?我应该把 dll 放在哪里才能找到它们?

我知道我可以在没有 C# 的情况下做到这一点,只需使用节点中的模块(如 mssql)来执行存储过程,但这只是习惯使用 edge.js 的示例测试

0 投票
1 回答
116 浏览

javascript - Node / JS 承诺被阻止

Node/JS 的新手,我正在为现有的 IT 门户创建密码恢复页面,它搜索 AD(ldap) 和用户注册的数据库。根据两者的结果,向用户提供身份验证选项,然后更改密码

当我从客户端发出请求 ($get()) 以查找用户时,后端会间歇性地停止。请参阅下面的控制台日志记录

这是控制台日志记录

这是花时间做谁知道什么的地方。它最终会完成,但通常需要几分钟。然后打印...

停顿似乎是在 then() 中调用return auth.getUserRegistration(globalUser.sql)之后。来自 auth 控制器的日志记录非常快地记录了 sql 查询的结果,该结果正好在它应该被解析之前,从而将结果返回到下面的 then()。所以我不相信身份验证控制器(它独立完美地工作)存在问题,而是在resolve()中存在问题。也许是因为它在另一个承诺中?

我发现有趣和困惑的是,如果我从另一个选项卡/浏览器浏览到门户,后端工作完成并且页面立即呈现。

请参阅下面的代码

0 投票
1 回答
763 浏览

asp.net-mvc - 从 ASP.NET MVC 项目运行 Edge.js

我正在尝试让 Edge.js 从 ASP.NET MVC 项目中运行,这很有趣。在 Edge 文档中,基本的控制台应用程序是这样的:

这在我的机器上没有问题。下一步是创建一个 ASP.NET MVC 项目,并尝试从表单驱动的控制器操作运行相同的脚本。默认情况下,ASP.NET MVC 项目在 IIS Express 上运行。

这是控制器:

不幸的是,呼叫Edge.Func失败了。例外是

我已经全局安装了 Edge(通过 npm install edge -g)。

我曾尝试将node.dll文件直接复制到 bin 文件夹中,但这会生成 BadImageFormat 异常。

根据 Edge.js 文档,“在 ASP.NET Web 应用程序中通过 Edge.js 使用 Node.js 与在 .NET 控制台应用程序中没有什么不同”。但是,这是 ASP.NET 应用程序中最简单的实现,所以肯定有一些区别。根据文档中的建议,我还尝试将node_modules子目录复制到binWeb 应用程序的文件夹中,但这没有帮助。

任何进一步的建议将不胜感激。

0 投票
0 回答
259 浏览

javascript - 使用 Mono 运行时和 edge.js 在节点 js 中执行 .NET 本机代码时出现“执行本机代码时出现 SIGABRT”错误

我需要在节点 js 的 dll 文件中调用一个函数。我正在尝试在 ubuntu 15.04 中使用 edge.js。

我使用以下网址上的说明安装了单声道:

然后我使用以下方法安装了边缘:

我正在尝试调用 dll 中的函数。为此,我使用以下 nodejs 代码包含了 dll:

但它抛出以下错误:

0 投票
1 回答
2382 浏览

asp.net-mvc - 使用 Edge.js 在 ASP.NET 中的服务器端渲染 Angular 2

我正在探索在 ASP.NET MVC 应用程序中使用 Edge.js 在服务器端呈现 Angular 2 的可能性。

我知道 Angular Universal Starter Kit 包含这个等式的一部分:https ://github.com/alexpods/angular2-universal-starter

但是,它使用的是 Node.js 服务器。我宁愿不在现有的 IIS 服务器之上添加 Node.js 服务器作为额外的 Web 服务器。我的想法是我可以使用 Edge.js 在服务器端执行 Angular 的渲染(即运行必要的 JavaScript 来生成标记)。

我对 Angular 2 非常陌生,因此启动并运行一个示例对我来说并非易事。基于这个已关闭的问题,我想说目前没有努力增加对 Edge.js 的支持(尽管曾经考虑过):https ://github.com/angular/universal/issues/40

有人知道是否可以使用 ASP.NET MVC 应用程序中的 Edge.js 在服务器端渲染 Angular 吗?

顺便说一句,我被困在 .NET 4.5.2 上(Umbraco 需要它),所以我无法迁移到 .NET Core 并利用它:https ://github.com/MarkPieszak/aspnetcore-angular2-普遍的

0 投票
1 回答
461 浏览

c# - node / edge : alternative to node.exe.config

The documentation for Edge.js states that in order to have .net settings for my app, I need to put them in node.exe.config.

How to: app.config

When running C# code within Node.js app, the app config file is node.exe.config and should be located right next to the node.exe file.

This will create conflicts as I have several edge applications running on this box. What are the alternatives?