Как обработать исключение RemoteJSDataStream NullReferenceException?
Я получаю сообщение об ошибке при параллельной загрузке файлов как StreamContent из .NET 6 / Blazor Server-Side в API через HttpClient. Вот сокращенный код и полный текст ошибки:
З.Ы. RemoteJSRuntime который передается для Microsoft.AspNetCore.Components.Server.Circuits.RemoteJSDataStream.ReceiveData фреймворком, имеет значение NULL, поэтому возникает ошибка. Однако почему передает NULL не понимаю. Отловить, погасить, как то повлиять пока не могу.
З.Ы.Ы. Это не связано с ApiClient, работает нормально. Ошибка возникает только при запуске после первой загрузки страницы, как ни странно, после повторной перезагрузки страницы и запуска все работает.
void StartUploadTask(List<IBrowserFile> files)
{
foreach (var item in files)
{
Task t = taskFactory.StartNew(async () =>
{
await semaphoreSlim.WaitAsync();
try
{
// .... prepare
await httpClient.PostAsync(url, formData, cancellationToken);
}
finally
{
semaphoreSlim.Release();
}
});
tasks.Add(t);
}
}
blazor.server.js:1 [2021-12-06T19:07:53.123Z] Error: System.NullReferenceException: Object reference not set to an instance of an object.
at Microsoft.AspNetCore.Components.Server.Circuits.RemoteJSDataStream.ReceiveData(RemoteJSRuntime runtime, Int64 streamId, Int64 chunkId, Byte[] chunk, String error)
at Microsoft.AspNetCore.Components.Rendering.RendererSynchronizationContext.<>c__11`1.<<InvokeAsync>b__11_0>d.MoveNext()
--- End of stack trace from previous location ---
at Microsoft.AspNetCore.Components.Server.Circuits.CircuitHost.ReceiveJSDataChunk(Int64 streamId, Int64 chunkId, Byte[] chunk, String error)