Работа с потоком ответов Amazon S3 после удаления ответа

Я использую Amazon SDK, и у меня есть метод, который возвращает Stream для объекта, хранящегося в сервисе Amazon S3.

Он содержит что-то вроде этого:

var request = new GetObjectRequest().WithBucketName(bucketName).WithKey(keyName);
using (var response = client.GetObject(request))
{
    return response.ResponseStream;
}

Очевидно, что при этом поток не читается из вызывающего метода, потому что объект запроса был удален, и когда это будет сделано, он закрывает поток.

Я не хочу чтобы загрузить файл в MemoryStream или FileStream.

Если я не использую предложение using, сборщик мусора удалит объект запроса в какой-то момент, поэтому я не могу просто не использовать его.

Что я Я спрашиваю, есть ли способ обернуть или скопировать поток в другой поток, а затем вернуть его без загрузки файла?

Я использую .NET 3.5.

Изменить: Метод наследуется от абстрактного класса, и вызывающий метод не знает, что он работает с Amazon. Поэтому он ДОЛЖЕН вернуть Stream.

7
задан spakinz 2 June 2011 в 11:59
поделиться