Я пишу приложение ASP.NET Web API, которое требует, чтобы я принимал загрузку файла и пересылал его на другую конечную точку HTTP.
Я обеспокоен тем, что если многие пользователи пытаются загрузить файл по 100 Мбайт каждый (что является допустимым вариантом использования), то мое приложение будет иметь большой объем памяти и в зависимости от объема больших запросов этот размер может увеличиться до большого, а мой приложение будет зависеть и умереть.
В идеале я хотел бы начать потоковое перемещение файла на другую конечную точку HTTP, как только веб-сервер начнет получать файл, чтобы значительно снизить нагрузку на сервер.
Я уверен, что этот процесс имеет имя, но я этого не знаю, что делает поиск его довольно жестким.
Я провел довольно много работы с потоком ответов в веб-API, но мне никогда не приходилось рассматривать потоки запросов раньше.
Лучше всего я могу сказать, что мне нужно разобраться, как:
- Начните обработку потока до его завершения.
- Используйте HttpClient для потока одного и того же запроса для передачи тех же данных в другую конечную точку HTTP.
Может кто-нибудь предложить мне некоторые указатели?