Как отследить размер тела запроса https POST, отправленного с основного клиента .Net SignalR? - PullRequest
0 голосов
/ 07 ноября 2019

Я занимаюсь разработкой приложения wpf, которое использует клиент signalR Microsoft.AspNetCore.SignalR.Client.Core (v3.0) с WebSockets.

Все работает отлично, за исключением того, что иногда среди множества запросов яотправить, некоторые запросы POST слишком велики.

Кажется, я получил этот код ошибки из IIS из-за этого ограничения .

Но я не хочу делатьтакие большие запросы, поэтому не хочу увеличивать этот лимит. Я просто хочу отладить почему.

Мой вопрос: я хотел бы иметь возможность измерить и записать размер тела запроса непосредственно перед его отправкой, чтобы я мог видеть, какой из них подвергается инкриминированию. Как это сделать?

Я уже пытался включить трассировку signalR, но, похоже, эта процедура больше не работает с AspNetCore 3.0

HubConnection building:

hubClient = new HubConnectionBuilder()
    .WithUrl("some good hub url")
    .AddMessagePackProtocol()
    .Build();

Слишком большие запросы получают код ответа 413 после вызова:

hubClient.SendCoreAsync(methodName, parameters);

Последнее указание: большую часть времени вызов SendCoreAsync() проходит очень хорошо.

Я получаю этот код ошибки 413 только при передаче большого файла (> 30 МБ), , который нарезается на кусочки по 64 КБ .

Но я подозреваю, что моймногие ( close ) вызовы SendCoreAsync() так или иначе сгруппированы в один слишком большой запрос.

Любая идея, пожалуйста?

...