降权查询网站网站建设考察报告
web/
2025/10/5 23:36:42/
文章来源:
降权查询网站,网站建设考察报告,网页首页设计模板图片,大兴快速网站建设哪家好漂亮的目录1、万能的脚本2、内部嵌入引擎方式3、调用NodeJs服务#xff0c;与之通信方式结论1、万能的脚本折腾无止境#xff0c;.net core 提供了更多的可能#xff0c;今天我们就来看看脚本引擎。提起脚本#xff0c;不得不说说Javascript——WEB互联网世界的一大半江山都… 漂亮的目录1、万能的脚本2、内部嵌入引擎方式3、调用NodeJs服务与之通信方式结论1、万能的脚本折腾无止境.net core 提供了更多的可能今天我们就来看看脚本引擎。提起脚本不得不说说Javascript——WEB互联网世界的一大半江山都掌控在其下当今世界发展最迅猛的必然输入前端技术各种框架百花齐放甚至于通过NodeJs渗透到后端的地盘。Javascript无疑是最成功的语言虽然开发这门语言只是一个人花了10天而已。因此 .net core下加入一门脚本引擎是不是首先考虑Javascript呢2、内部嵌入引擎方式JavaScript Engine Switcher 使用同一的接口访问流行的Javascript引擎 (MSIE JavaScript Engine, Microsoft ClearScript.V8, Jurassic, Jint, ChakraCore and VroomJs). 该类库允许你在不同的引擎间快速的切换。该包支持的类型如下JavaScriptEngineSwitcher.Core.UndefinedSystem.BooleanSystem.Int32System.DoubleSystem.String支持包包含下列列表JS Engine Switcher: Core (supports .NET Framework 4.0 Client, .NET Framework 4.5 and .NET Standard 1.3)JS Engine Switcher: MS Dependency Injection (supports .NET Framework 4.5 and .NET Standard 1.3)JS Engine Switcher: MSIE (supports .NET Framework 4.0 Client, .NET Framework 4.5 and .NET Standard 1.3)JS Engine Switcher: V8 (supports .NET Framework 4.0 Client and .NET Framework 4.5)Windows (x86)Windows (x64)JS Engine Switcher: Jurassic (supports .NET Framework 4.0 Client and .NET Framework 4.5)JS Engine Switcher: Jint (supports .NET Framework 4.0 Client, .NET Framework 4.5 and .NET Standard 1.3)JS Engine Switcher: ChakraCore (supports .NET Framework 4.0 Client, .NET Framework 4.5 and .NET Standard 1.3)- Windows (x86)- Windows (x64)- Windows (ARM)- Linux (x64)- OS X (x64)JS Engine Switcher: Vroom (supports .NET Framework 4.0 Client, .NET Framework 4.5 and .NET Standard 1.6)想在 .net core 下使用有多重选择那我们就选择 ChakraCore吧var engineSwitcher JsEngineSwitcher.Current;
engineSwitcher.EngineFactories.Add(new ChakraCoreJsEngineFactory());
engineSwitcher.DefaultEngineName ChakraCoreJsEngine.EngineName;IJsEngine engine JsEngineSwitcher.Current.CreateDefaultEngine();engine.EmbedHostType(Test, typeof(Test));var t new Test();engine.EmbedHostObject(TestA, t);engine.Execute(var a13;if(1)a5;TestA.Namea);Console.WriteLine(t.Name);
为了在javascript引擎和.net core间进行交互我定义了一个类ooop普通的类public class Test
{public string Name { get; set; }public void Hello(string s){Console.WriteLine(s);}
}
代码交互清爽而干净执行也很快你有没有被惊艳到3、调用NodeJs服务与之通信方式微软提供了一个nuget包Microsoft.AspNetCore.NodeServices通过该包可以顺利的和nodejs服务进行通信。为了使用它我引入了注入容器。这里通过脚本调用方式来执行js。var services new ServiceCollection();
services.AddNodeServices(options {options.LaunchWithDebugging false; options.ProjectPath Path.Combine(AppDomain.CurrentDomain.BaseDirectory, js);});var serviceProvider services.BuildServiceProvider();var nodeServices serviceProvider.GetRequiredServiceINodeServices();for (int i 0; i 100; i){var result nodeServices.InvokeAsyncint(./addNumbers, 1, 2).Result;}
注意 脚本默认放置在js目录下命名为addNumbers.js。js代码如下我们可以通过callback返回结果。module.exports function (callback, first, second) {var result first second;callback(/* error */ null, result);
};
该方式注入了一个单例的nodejs服务引擎因此理论上看执行js的效率会高于第一种方式。结论通过脚本可以做很多灵活的需求例如自定义任务、自定义的规则、甚至流程。.net core 给我们提供了无尽可能。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/87617.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!