Я вызываю публичный API REST для получения CSV-файла в моем методе GetStream, который возвращает объект типа Stream.
public Stream GetStream(object args)
{
var request = (HttpWebRequest)WebRequest.Create(URL);
var response = (HttpWebResponse)request.GetResponse();
string responseLine = string.Empty;
StreamReader reader = new StreamReader(response.GetResponseStream());
}
Предыдущий код был настроен для возврата XML-документа, который был сериализован из возвращенного CSV. Теперь мне просто нужно вернуть данные CSV.
Я создаю здесь свой объект Stream, который сейчас возвращает XML:
Stream baseStream = new MemoryStream();
XmlTextWriter tw = new XmlTextWriter(baseStream, System.Text.Encoding.UTF8);
responseXml.WriteTo(tw);
tw.Flush();
baseStream.Seek(0, SeekOrigin.Begin);
return baseStream;
Я не уверен, как просто вернуть данные CSV из ответа в потоке. Этот метод предназначен для адаптера в Biztalk, поэтому CSV будет иметь связанную с ним схему и карту.