如何在 Blazor 中发送大小超过 Signalr 消息大小限制的数据?

nAv*_*viD 4 c# signalr webassembly asp.net-core blazor

我们知道它Blazor用于SignalR客户端和服务器之间的通信,并且还有消息大小限制SignalR(当前为32k)。如何从服务器向客户端发送超过 32k 的数据,反之亦然?

Mic*_*ton 11

根据微软文档

您可以设置MaximumReceiveMessageSize

public void ConfigureServices(IServiceCollection services)
{
    services.AddSignalR(hubOptions =>
    {
        hubOptions.MaximumReceiveMessageSize = 10 * 1024 * 1024; // 10MB
    });
}
Run Code Online (Sandbox Code Playgroud)

  • 根据我的经验,这段代码(我认为这是旧的做法)确实对大文件上传产生了影响: services.AddServerSideBlazor().AddHubOptions(o => { o.MaximumReceiveMessageSize = 10 * 1024 * 1024; // 10MB}); 请参阅:https://github.com/Tewr/BlazorFileReader (3认同)