Есть ли способ обеспечить загрузку тела HTTP-запроса в память? Существует несколько промежуточных продуктов, которые будут использовать одно и то же тело HTTP-запроса для входа на нескольких уровнях.
Я помню, как делал следующее. Net Framework 4.6
await request.Content.LoadIntoBufferAsync();
/// *** Method snapshot from HttpContent - System.Net.Http library ***
/// <summary>Serialize the HTTP content to a memory buffer as an asynchronous operation.</summary>
/// <returns>The task object representing the asynchronous operation.</returns>
public Task LoadIntoBufferAsync()
{
return this.LoadIntoBufferAsync((long) int.MaxValue);
}
Может ли кто-нибудь помочь мне найти подобное поведение в. Net Core?
EDIT
- Я думаю, что правильным ответом здесь является использование EnableBuffering, но я не могу выяснить, какой перегруженный метод следует использовать для EnableBuffering?
public static void EnableBuffering(this HttpRequest request)
{
BufferingHelper.EnableRewind(request);
}
public static void EnableBuffering(this HttpRequest request, int bufferThreshold)
{
BufferingHelper.EnableRewind(request, bufferThreshold);
}
public static void EnableBuffering(this HttpRequest request, long bufferLimit)
{
BufferingHelper.EnableRewind(request, bufferLimit: bufferLimit);
}
Размер HTTP-запроса в нашем приложении равен варьирующийся от 50кб до 300мб.