現象

BodyTemplate テンプレートパラメータを含む IgbGrid を、Blazor Server 上、または対話型サーバーモード (@rendermode=”InteractiveServer”) で実行している場合に、サーバー側との接続 (SignalR 接続) が一時切断される場合があります。

原因と対処方法

これは、Blazor Server における通信サイズが、既定の上限値を超える場合に発生します。このような場合は、その Blazor Server プログラムの初期化コード (Program.cs) で、通信サイズの上限を緩和する指定を追加します。

Blazor Server アプリケーションの場合

対話型レンダーモード指定を持たない Blazor Server アプリケーションの場合は、 Program.cs 内にある “builder.Services.AddServerSideBlazor()” 呼び出しに続けて、以下のとおり最大通信サイズの指定を追加してください。

// Blazor Server アプリケーションの Program.cs
...
builder.Services.AddServerSideBlazor()
    // 👇 この AddHubOptions 呼び出しを追加し、通信サイズ上限を緩和する
    .AddHubOptions(options =>
    {
        options.MaximumReceiveMessageSize = 102400000;
    });
...

Blazor Web アプリケーションの場合

対話型レンダーモード指定を持つ Blazor Web アプリケーションの場合は、サーバー側プロジェクトの Program.cs 内にある “.AddInteractiveServerComponents()” 呼び出しに続けて、以下のとおり最大通信サイズの指定を追加してください。

// Blazor Web アプリケーションのサーバー側プロジェクトの Program.cs
...
builder.Services.AddRazorComponents()
    .AddInteractiveServerComponents()
    // 👇 この AddHubOptions 呼び出しを追加し、通信サイズ上限を緩和する
    .AddHubOptions(options =>
    {
        options.MaximumReceiveMessageSize = 102400000;
    })
...
Tagged:

製品について

Ignite UI for Blazor