Blazor ServerのBlazorMonacoエディタでエディタテキストを取得しようとしたところ一見では分かりづらいエラーが発生したため、その問題の解決方法についての備忘録。
問題
Blazor ServerのBlazorMonacoエディタで長いソースをGetValue()すると
A task was canceled.
のようなエラーが発生してエディタのテキストが取得できない。
原因
SignalRハブの通信のメッセージサイズが超過している。
対応
SignalRの1つの受信ハブにおける最大メッセージサイズを大きめに設定する(既定値は32KB)。
Program.cs
builder.Services.AddSignalR(e =>
{
e.MaximumReceiveMessageSize = 102400000;
});
参考ウェブサイトなど
-
Microsoft Learn
HubOptions.MaximumReceiveMessageSize プロパティ -
Stackoverflow
Getting data from Blazor Monaco editor fails/timeout if there is a lot of data
以上です。