我可以使用Node.js来调用C#方法吗?

时间:2012-11-09 21:11:21

标签: c# node.js iisnode

我正在开发一个Webforms项目,我正在研究实现node.js和issnode。 我们正在使用:

  • 网络表单
  • IIS
  • C#
  • 实体框架
  • SQL Server

我们有一个页面需要一段时间才能加载,并且正在寻找提高速度的方法。页面上显示的一些计数很有用但导致页面加载缓慢。 (我们显示的是任务总数,组中的人数和组数)。

我以为我可以直接从node.js文件中调用我的c#代码。从我看过的例子和我读过的内容看来,这似乎不是我应该寻找的解决方案。由于我们使用的是EF而且我没有编写SQL查询,因此看起来我应该与服务进行交互。

所以我的问题是,我可以使用Node.js来调用我的C#方法吗?

2 个答案:

答案 0 :(得分:5)

是的,您现在可以通过Edge.js执行此操作。

来自http://www.infoq.com/articles/the_edge_of_net_and_node

为什么要使用Edge.js?

  

虽然许多应用程序可以在Node.js中专门编写,但那里   是需要Node.js组合或从中受益的情况   和.NET。您可能希望在应用程序中使用.NET和Node.js.   几个原因。 .NET框架和NuGet包提供了丰富的功能   功能生态系统,补充了Node.js和NPM的功能   模块。您可能已经预先存在要重用的.NET组件   在Node.js应用程序中。您可能希望使用多线程CLR   运行不适合的CPU绑定计算   单线程Node.js.或者您可能更喜欢使用.NET Framework和   C#而不是在C / C ++中编写本机Node.js扩展来访问   特定于操作系统的机制尚未公开   通过Node.js。

答案 1 :(得分:1)

你的问题有点模糊,所以我要提出我认为的要点:

  

我在想,我可以直接从node.js文件中调用我的c#代码。

老实说我不知道​​这是否可能,我对此表示怀疑,但我并不好奇,因为这是一个坏主意。

  

从我见过的例子和我所看到的内容看来,这似乎不是我应该寻找的解决方案。由于我们使用的是EF而且我没有编写SQL查询,因此看起来我应该与服务进行交互。

当然,除了EF和SQL与你为什么不应该这样做完全无关。我知道这可能是一种心理转变,特别是在.Net领域,但Node在鼓励和授权使用处理非常特定任务的微应用程序方面做得非常好(想想地理编码,分析,时间码查找,索引,搜索,通知等等,然后可以通过服务电话或其他机制合并在一起。

  

我们有一个页面需要一段时间才能加载,并且正在寻找提高速度的方法。页面上显示的一些计数很有用但导致页面加载缓慢。 (我们显示的是任务总数,组中的人数和组数。)

我很长时间没有使用过.Net或EF但是如果我猜的话,我建议你从剖析中开始。我几乎愿意打赌你有一个N + 1(或更糟)的问题可以很容易地解决。