运行 浏览器中的 C# dll 仅用于计算
Running C# dll in browser for calculations only
我有 fin 的 C# 代码。计算,我想在浏览器中 运行 它。我研究了 Blazor,但我能找到的所有示例都集中在 ASP.NET,而我想下载一个 .dll 或 .wasm 文件并从我现有的 Web 应用程序(用 Typescript 编写)执行它。我正在寻找这样的例子。
如果您只是想 运行 WebAssembly
在通常的 JavaScript
或 Angular
页面中编写代码,那么您必须修改 bootstrapping js
中的文件Blazer 项目,目前没有记录。
到目前为止,最简单的方法是创建一个简单的 Blazer 项目,将其加载到 iFrame
中,将需要使用 js 计算的数据传递给应用程序。
从您的应用程序中的 javascript,您可以调用 WebAssembly
方法。
您的 C# 代码
[JSInvokable]
public string SayHello() => $"Hello, {Name}!";
你的 JS 调用者
sayHello: function (dotnetHelper) {
return dotnetHelper.invokeMethodAsync('SayHello')
.then(r => console.log(r));
}
参考更多信息
https://docs.microsoft.com/en-gb/aspnet/core/blazor/javascript-interop?view=aspnetcore-3.0
感谢 VibeeshanRC 回答和 Microsoft 文档,我通过删除与手动调用无关的所有内容(UI 相关代码)改编了 Blazor 示例之一。 https://github.com/IKoshelev/BlazorExampleManualInvocation
我有 fin 的 C# 代码。计算,我想在浏览器中 运行 它。我研究了 Blazor,但我能找到的所有示例都集中在 ASP.NET,而我想下载一个 .dll 或 .wasm 文件并从我现有的 Web 应用程序(用 Typescript 编写)执行它。我正在寻找这样的例子。
如果您只是想 运行 WebAssembly
在通常的 JavaScript
或 Angular
页面中编写代码,那么您必须修改 bootstrapping js
中的文件Blazer 项目,目前没有记录。
到目前为止,最简单的方法是创建一个简单的 Blazer 项目,将其加载到 iFrame
中,将需要使用 js 计算的数据传递给应用程序。
从您的应用程序中的 javascript,您可以调用 WebAssembly
方法。
您的 C# 代码
[JSInvokable]
public string SayHello() => $"Hello, {Name}!";
你的 JS 调用者
sayHello: function (dotnetHelper) {
return dotnetHelper.invokeMethodAsync('SayHello')
.then(r => console.log(r));
}
参考更多信息
https://docs.microsoft.com/en-gb/aspnet/core/blazor/javascript-interop?view=aspnetcore-3.0
感谢 VibeeshanRC 回答和 Microsoft 文档,我通过删除与手动调用无关的所有内容(UI 相关代码)改编了 Blazor 示例之一。 https://github.com/IKoshelev/BlazorExampleManualInvocation