1

Может кто-нибудь помочь, я хочу вернуть асинхронный поток из asp.net web api, и кажется, что существует более одного способа сделать это или я не понимаю разницы.PushStreamContent vs Task Action?

Например, вы можете сделать PushStreamContent стандарту HttpResponseMessage или в этом случае вы можете реализовать задачи и ждать т.д.

Каковы различия ??

Должен ли я всегда возвращать поток даже для небольших объемов данных?

В этом случае я всегда должен использовать Async Tasks?

Кажется очень запутанным, и у меня есть разница в Google, но я не могу найти конкретного ответа.

ответ

1

В конечном счете это зависит от того, что вы пытаетесь сделать в вашем случае, вот пример PushStreamContent я нашел:

http://aspnet.codeplex.com/SourceControl/changeset/view/9cb7243bd9fe3b2df484bf2409af943f39533588#Samples/WebApi/PushContentControllerSample/PushContentController/Controllers/PushContentController.cs

Несколько замечаний о PushStreamContent, которые делают его ценным по сравнению с обычаем поджидают реализации:

1) Он контролирует выходной поток и выполняет обратный вызов, когда он доступен. 2) Он завершает ответ, когда выходной поток закрывается.

Сообщите нам, что вы пытаетесь сделать, возможно, я смогу дать более конкретный ответ.