На основании этого вопроса и ответа
Загрузка ASP.NET Core 2.0 и Angular 4.3 с прогрессом
ASP.NET возвращает HTTP-события - процесс загрузки и окончательный ответ:
[HttpPost, DisableRequestSizeLimit, Route("api/files")]
public async Task UploadFiles()
{
var files = Request.Form.Files; // now you have them
}
И Angular принимает ответ (ы) и обрабатывает, что:
this.http.request(req).subscribe(event => {
if (event.type === HttpEventType.UploadProgress)
this.uploadProgress = Math.round(100 * event.loaded / event.total);
else if (event instanceof HttpResponse)
console.log('Files uploaded!');
});
Мои вопросы:
1) Какая часть приведенного выше кода ASP.NET говорит о том, что он должен отвечать на UploadProgress до завершения процесса загрузки? Откуда он знает, что это запрос, который должен ответить на UploadProgress? Где находится код в исходном коде ASP.NET, который возвращает UploadProgress? (https://github.com/aspnet/AspNetCore)
2) Общий поток, это спецификация HTTP? Очевидно, что есть правило, и я пока не могу найти какую-либо документацию по нему.