分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 技术分享

如何在.Net Core调用NodeJs

发布时间:2023-09-06 02:28责任编辑:赖小花关键词:Node
  • 概述
  • Microsoft.AspNetCore.NodeServices库
  • 实例
      • 新建aspnet core站点
      • 添加nuget包
      • 建立node环境,此处示例用于扫描wifi环境
      • 建立nodejs的程序文件 index.js
      • 设置js文件为始终复制
      • 注入配置
      • 在控制器-Action处调用
      • 返回情况

概述

目前.net core正处于飞速的成长期,虽然前途光明不容置疑,但是就生态而言还是比不上其他一些语种的大环境,那如果能够在.net core下调用其他语种的库加以利用那就能更好的发挥我们手头的.net core 而不至于因为库短缺而尴尬

NodeJs出生名门,依靠其异步IO广泛用于I/O密集的场景,而且世界上的javascript开发者也是多如牛毛!自然Nodejs的盛起也给他们的代码生活带来了前所未有的体验,同样JS的库也是五花八门一度占据了github的排行榜。

如果.net core能利用 nodejs的庞大生态库是不是很nice?

Microsoft.AspNetCore.NodeServices库

其实微软爸爸提供了Microsoft.AspNetCore.NodeServices这个库,专门用来调用nodejs服务

要使用NodeJs服务,首先需要Microsoft.AspNetCore.NodeServices在项目文件中包含包的引用。您可以使用dotnet add package Microsoft.AspNetCore.NodeServices命令执行此操作。

然后,您需要将Node Services中间件利用ConfigureServices()添加到请求管道。

现在,您可以利用INodeServices在应用程序中获取实例。并利用它调用在Node环境中运行的JavaScript的API。您可以使用FromServicesattribute在您的action方法中获取`INodeServices‘的实例

实例

这里我贴一个实例供参考

新建aspnet core站点

利用dotnet command建立站点

dotnet new mvc

添加nuget包

dotnet add package Microsoft.AspNetCore.NodeServices

建立node环境,此处示例用于扫描wifi环境

在站点根目录下利用npm建立环境

npm init -ynpm install node-wifi --save-dev

建立nodejs的程序文件 index.js

var wifi = require("node-wifi");module.exports = function(callback) { ???wifi.init({ ???????iface: null // network interface, choose a random wifi interface if set to null ???}); ???// Scan networks ???wifi.scan( ???).then(function (networks) { callback(null,networks)});};

设置js文件为始终复制

?

注入配置

 ??public void ConfigureServices(IServiceCollection services) ???????{ ???????????services.Configure<CookiePolicyOptions>(options => ???????????{ ???????????????// This lambda determines whether user consent for non-essential cookies is needed for a given request. ???????????????options.CheckConsentNeeded = context => true; ???????????????options.MinimumSameSitePolicy = SameSiteMode.None; ???????????}); ???????????services.AddNodeServices(); ???????????services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_2); ???????}

在控制器-Action处调用

 ??public void ConfigureServices(IServiceCollection services) ???????{ ???????????services.Configure<CookiePolicyOptions>(options => ???????????{ ???????????????// This lambda determines whether user consent for non-essential cookies is needed for a given request. ???????????????options.CheckConsentNeeded = context => true; ???????????????options.MinimumSameSitePolicy = SameSiteMode.None; ???????????}); ???????????services.AddNodeServices(); ???????????services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_2); ???????}
返回情况

?

如何在.Net Core调用NodeJs

原文地址:https://www.cnblogs.com/linkanyway/p/Net-Core-invoke-node-js.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved