Мой метод webapi для архивирования на лету использует этот код
var result = new HttpResponseMessage(HttpStatusCode.OK)
{
Content = new PushStreamContent((stream, content, arg3) =>
{
using (var zipEntry = new Ionic.Zip.ZipFile())
{
using (var ms = new MemoryStream())
{
_xmlRepository.GetInitialDataInXml(employee, ms);
zipEntry.AddEntry("content.xml", ms);
zipEntry.Save(stream); //process sleep on this line
}
}
})
};
result.Content.Headers.ContentDisposition = new ContentDispositionHeaderValue("attachment")
{
FileName = "FromPC.zip"
};
result.Content.Headers.ContentType =
new MediaTypeHeaderValue("application/octet-stream");
return result;
я хочу
1) взять данные из _xmlRepository.GetInitialDataInXml
2) заархивировать данные на лету через Ionic.Zip
3) вернуть заархивированный поток в качестве вывода моего действия WebApi
Но в этой строке zipEntry.Save(stream); процесс выполнения останавливается и не переходит к следующей строке. И метод ничего не возвращает
Так почему он не возвращает мне файл?