Я бы посоветовал изменить тип возврата на byte[]
. Это аккуратнее.
Stream
реализует IDisposable
, поэтому теоретически потребитель вашего метода должен будет вызвать ваш код в блоке using
:
using (var receivedStream = new FileService().ServeHttpRequest(someUrl))
{
// do something with the stream
}
Если вашему клиенту определенно необходим доступ к чему-то, что обеспечивает Stream
, то непременно вернитесь и верните это, но, возвращая byte[]
, вы сохраняете контроль над всеми неуправляемыми ресурсами, которые скрыты под прикрытием. *