首页 > 其他分享 >在 .NET 7上使用 WASM 和 WASI

在 .NET 7上使用 WASM 和 WASI

时间:2022-11-07 13:23:13浏览次数:66  
标签:WebAssembly Web WASI WASM NET 运行

在 .NET 7上使用 WASM 和 WASI

 

WebAssembly(WASM)和WebAssembly System Interface(WASI)为开发人员开辟了新的世界。.NET 开发人员在 Blazor WebAssembly 发布时熟悉了 WASM。Blazor WebAssembly 在浏览器中基于 WebAssembly 的 .NET 运行时上运行客户端。WASI通过提供一个系统接口来在Web之外运行WebAssembly,从而将WASM带出浏览器世界。它是 WASM 模块如何与主机环境交互的标准。

什么是WASM?

WebAssembly(WASM)是基于堆栈的虚拟机二进制指令格式。WASM 是编程语言的可移植编译目标。它是一种低级汇编语言,具有紧凑的二进制格式,运行接近本机的性能,并提供 C#、C/C++ 和 Rust 等语言。具有可在浏览器和其他环境中运行的编译目标。

什么是WASI?

WebAssembly 系统接口 (WASI) 是 WASM 模块如何与主机环境交互的标准。WASI是WebAssembly系统接口的规范。它是一组 API,WebAssembly 模块可以调用这些 API 来访问主机环境。
由于 WASI 是在浏览器之外安全地运行 WASM,因此它无法利用嵌入到我们现代 Web 浏览器中的运行时。它需要另一个运行时。这就是为什么像WasmtimeWasmerWasmEdge这样的运行时存在的原因。Wasmtime是WebAssembly的独立JIT风格的运行时。它被设计为作为独立的命令行实用程序运行,嵌入到其他应用程序中,或用于在更大的运行时中运行WebAssembly模块。

.NET 7 WASI SDK

被称为 ASP.NET Core Blazor WebAssembly 之父的 Steve Sanderson,他在年初几个月前打开了 GitHub 存储库SteveSandersonMS/dotnet-wasi-sdk。 “Experimental WASI SDK for .NET Core” 就这么诞生了。几周前,这个仓库被转移到 dotnet/dotnet-wasi-sdk。这是否暗示它已准备好进入下一步? 我深信不疑,我们会在 2022 年 .NET 大会期间会听到Steve Sanderson 聊这一点。

2022.11.8  09:30 - 10:00 PST

.NET 7 中 Blazor 的新增功能

Steve Sanderson

.NET 7 中的 Blazor 增加了许多新的改进,使构建漂亮的交互式 Web UI 更轻松、更高效。在本次会议中,我们将介绍对自定义元素的新支持、改进的数据绑定、处理位置更改事件、显示加载进度、动态身份验证请求等!

如何使用 WASI SDK for .NET 构建 .NET 7 Web Api,具体参考 “如何使用:ASP.NET 核心应用程序” ,创建一个 .NET 7 Web API 项目,然后添加适用于 .NET 的 WASI SDK。

标签:WebAssembly,Web,WASI,WASM,NET,运行
From: https://www.cnblogs.com/sexintercourse/p/16865598.html

相关文章

  • .NET Core 集成微信支付签名错误
    .NETCore集成微信支付签名错误Theprovideddataistaggedwith'Universal'classvalue'16',butitshouldhavebeen'Universal'classvalue'2'.The......
  • asp.net core IIS部署运行环境修改
    asp.netcoreIIS部署运行环境修改目录下的web.config<aspNetCoreprocessPath="dotnet"arguments=".\WebApi.dll"stdoutLogEnabled="false"stdoutLogFile=".\logs\std......
  • linux 测试端口命令wget --- 比telnet更好
     wget11.11.255.11:20001三种返回:1ip不通 Connectingto11.11.255.11:20001... 2ip通端口不通 Connectingto11.11.255.11:20001...failed:Connectionrefused......
  • .NET性能优化-是时候换个序列化协议了
    计算机单机性能一直受到摩尔定律的约束,随着移动互联网的兴趣,单机性能不足的瓶颈越来越明显,制约着整个行业的发展。不过我们虽然不能无止境的纵向扩容系统,但是我们可以分布......
  • 学习笔记-.net安全之SiteServer远程下载分析
    0x00简介在N年前有个siteserver的远程getshell,其实这个洞很简单,问题出在下载模板这里。找个低版本4.5左右的siteserver下载0x01漏洞成因POC192.168.110.129:8081/si......
  • 学习笔记-.net安全之ueditor远程下载分析
    0x00简介UEditor的.NET版本N年前爆出一个远程下载漏洞。0x01漏洞成因URL:http://192.168.110.129:520/gbk-net/net/controller.ashx?action=catchimage在POC中请......
  • 学习笔记-.net安全
    0x00简介本章内容:1.xss2.csrf3.文件上传0x01XSS在asp.net中我们插入XSS代码经常会遇到一个错误ApotentiallydangerousRequest.Form这是因为在aspx文件头一般......
  • 学习笔记-.net安全越权
    0x00ASP.NET安全认证1.在web.config中有四种验证模式:方式描述windowIIS验证,在内联网环境中非常有用Passport微软集中式身份验证,一次登录便可访问所有成员......
  • networkQuality
    基本使用networkQuality 是一个命令行工具,需要使用「终端」App(或者你首选的其他终端模拟器)运行。方法是:首先,点按「程序坞」(Dock)中的「启动台」(LaunchPad)图标,在搜索栏中......
  • Ubuntu系统中CUDA套件nvvp启动后报错Unable to make protected void java.net.URLClas
    最近在看cuda方面的内容,需要对cuda代码做一些性能分析,于是需要使用nvvp,但是启动nvvp后报错:Causedby:java.lang.reflect.InaccessibleObjectException:Unabletomakepr......