2015-07-13 5 views
1

мне нужно, чтобы служить поблочным кодирования данных с использованием ApiController. Поскольку у меня нет доступа к HttpContext или HttpRequest, я немного потерял информацию о том, где писать ответ и где его можно сбросить.Порции данных с помощью "Transfer-Encoding: фрагментированных" на ApiController в C#»WebAPI

Установка выглядит следующим образом:

public class MyController : ApiController 
{ 
    [Route("testing")] 
    [HttpGet] 
    public string Get() 
    { 
     ... 
     return <response object ot HttpResponseMessage 
    } 
} 

Я предполагаю, что я мог бы использовать неправильные базовые классы/рамки/концепции? Большое спасибо!

ответ

1

У вас есть do имеют доступ к Контексту и запросу. Вам нужно получить доступ к Ответу:

public string Get() 
{ 
    ActionContext.Response.Headers.TransferEncodingChunked = true; 
    // ... 
} 
+1

Да, но вам нужно быть осторожным, потому что в некоторых версиях фрейма есть ошибка при использовании chunking с прокси. См. Http://stackoverflow.com/questions/16736233/web-api-as-a-proxy-and-chunked-transfer-encoding и https://aspnetwebstack.codeplex.com/workitem/1124. Это, по-видимому, было исправлено в самой последней версии, но по крайней мере один человек сообщает, что проблема все еще существует. Однако не уверен в ASP.NET 5. –

+0

Я действительно получаю пустой «ActionContext.Response». Однако я могу создать новый HttpResponseMessage и вернуть его – Miquel

 Смежные вопросы

  • Нет связанных вопросов^_^