WebAssembly 是一种在浏览器中运行的二进制代码格式,它可以让你在浏览器中运行 C# 代码。要实现 WebAssembly 与 JavaScript 之间的交互,你需要使用 JavaScript 调用 WebAssembly 函数,或者在 WebAssembly 中调用 JavaScript 函数。
以下是一个简单的示例,展示了如何在 C# 中创建一个 WebAssembly 模块,并在 JavaScript 中调用它:
- 首先,创建一个 C# 项目,并安装
Microsoft.NET.Sdk.Web
SDK。在项目文件中添加以下内容:
net6.0 Exe true
- 在项目中创建一个 C# 类,并添加一个简单的方法,例如:
public class MyInteropClass
{
public static int Add(int a, int b)
{
return a + b;
}
}
- 在
Program.cs
文件中,将 C# 方法导出为 JavaScript 函数:
using System;
using Microsoft.JSInterop;
public class Program
{
public static void Main()
{
var runtime = new WebAssemblyRuntime();
runtime.InvokeUnmarshalled("initialize", "MyInteropClass");
}
[JSInvokable]
public static int Add(int a, int b)
{
return MyInteropClass.Add(a, b);
}
}
-
编译项目,生成 WebAssembly 文件。
-
在 HTML 文件中,引入 WebAssembly 文件,并调用 C# 方法:
WebAssembly Interop Example WebAssembly Interop Example
现在,当你在浏览器中打开 HTML 文件时,你可以输入两个数字,然后点击 “Add” 按钮,调用 C# 方法计算结果,并显示在页面上。这就是如何在 WebAssembly 和 JavaScript 之间进行交互的基本示例。