Blazor 中从 .NET 流式传输到 JavaScript

2022-03-01  乐帮网

c#

Blazor 支持将数据直接从 .NET 流式传输到 JavaScript。 流是使用 DotNetStreamReference 创建的。

DotNetStreamReference 表示 .NET 流,并使用以下参数:

  • stream:发送到 JavaScript 的流。
  • leaveOpen:确定传输后流是否保持打开状态。 如果未提供值,则 leaveOpen 默认为 false

在 JavaScript 中,使用数组缓冲区或可读流接收数据:

使用 ArrayBuffer

async function streamToJavaScript(streamRef) {
  const data = await streamRef.arrayBuffer();
}

使用 ReadableStream

async function streamToJavaScript(streamRef) {
  const stream = await streamRef.stream();
}

在 C# 代码中:

using var streamRef = new DotNetStreamReference(stream: {STREAM}, leaveOpen: false);
await JS.InvokeVoidAsync("streamToJavaScript", streamRef);

在上面的示例中:

  • {STREAM} 占位符表示发送到 JavaScript 的 Stream
  • JS 是一个注入的 IJSRuntime 实例。

 

公众号二维码

关注我的微信公众号
在公众号里留言交流
投稿邮箱:1052839972@qq.com

庭院深深深几许?杨柳堆烟,帘幕无重数。
玉勒雕鞍游冶处,楼高不见章台路。
雨横风狂三月暮。门掩黄昏,无计留春住。
泪眼问花花不语,乱红飞过秋千去。

欧阳修

付款二维码

如果感觉对您有帮助
欢迎向作者提供捐赠
这将是创作的最大动力