Пример кода ниже для записи потока файлов в Response.Body
в промежуточном программном обеспечении ASP.NET Core не работает (выдает пустой ответ):
public Task Invoke(HttpContext context)
{
context.Response.ContentType = "text/plain";
using (var fs = new FileStream("/valid-path-to-file-on-server.txt", FileMode.Open)
using (var sr = new StreamReader(fs))
{
context.Response.Body = sr.BaseStream;
}
return Task.CompletedTask;
}
Любые идеи, что может быть не так с этим подходомпрямой настройки context.Response.Body
?
Примечание: любое следующее промежуточное ПО в конвейере пропускается для дальнейшей обработки.
Обновление (другой пример): простой MemoryStream
назначение также не работает (пустой ответ):
context.Response.Body = new MemoryStream(Encoding.UTF8.GetBytes(DateTime.Now.ToString()));