¿Se elimina una transmisión al devolver un archivo de una acción? [duplicar

Esta pregunta ya tiene una respuesta aquí:

¿FileStreamResult cierra Stream? 1 respuesta ¿Cómo elimino mi flujo de archivos al implementar una descarga de archivos en ASP.NET 2 respuestas

Estoy escribiendo una cadena a unaMemoryStream Necesito devolver el flujo a la Acción del controlador para poder enviarlo como un archivo para descargar.

Normalmente, envuelvo el Stream en una declaración de uso, pero, en este caso, necesito devolverlo. ¿Todavía se elimina después de que lo devuelva? ¿O tengo que deshacerme de mí de alguna manera?

//inside CsvOutputFormatter
public Stream GetStream(object genericObject)
{
    var stream = new MemoryStream();
    var writer = new StreamWriter(stream, Encoding.UTF8);
    writer.Write(_stringWriter.ToString());
    writer.Flush();
    stream.Position = 0;
    return stream;
}

Controller Acción que devuelve el archivo:

[HttpGet]
[Route("/Discussion/Export")]
public IActionResult GetDataAsCsv()
{
    var forums = _discussionService.GetForums(_userHelper.UserId);

    var csvFormatter = new CsvOutputFormatter(new CsvFormatterOptions());

    var stream = csvFormatter.GetStream(forums);
    return File(stream, "application/octet-stream", "forums.csv");

    //is the stream Disposed here automatically?
}

Respuestas a la pregunta(1)

Su respuesta a la pregunta