【问题标题】:How to send data with the size more than Signalr message size limit in Blazor?如何在 Blazor 中发送大小超过 Signalr 消息大小限制的数据?
【发布时间】:2020-09-02 21:46:32
【问题描述】:

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

【问题讨论】:

    标签: c# asp.net-core signalr blazor webassembly


    【解决方案1】:

    根据Microsoft Docs

    你可以设置MaximumReceiveMessageSize:

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

    但是,如果您尝试发送大文件,请参阅这篇文章: Perform large data transfers in Blazor Server apps

    【讨论】:

    • 此配置是否真的会影响 Blazor SignalR Hub?或者只是影响您将在管道中添加的另一个 SignalR HUB 的配置?
    • 根据我的经验,这段代码(我认为这是旧的做法)确实对大文件上传产生了影响:services.AddServerSideBlazor().AddHubOptions(o => { o.MaximumReceiveMessageSize = 10 * 1024 * 1024; // 10MB });见:github.com/Tewr/BlazorFileReader
    猜你喜欢
    • 1970-01-01
    • 2016-03-24
    • 1970-01-01
    • 2011-10-22
    • 2016-05-08
    • 1970-01-01
    • 2011-09-28
    • 1970-01-01
    • 2021-06-08
    相关资源
    最近更新 更多