Я не смог найти хорошего ответа о том, как лучше отправить элементы назад или как справиться с этим конфликтом, поэтому я решил использовать WebApi 2 IHttpActionResult.Это отличный пример использования и УСПЕХА !!!Я абстрагировал создание HttResponseMessage и отправил весь набор данных в Json клиенту.Я проверил это с Почтальоном и Фиддлером, затем смог разбить Json, не разбирая напрямую, а используя приведение.Проверьте это!
Уменьшено количество строк в моем коде на контроллере
[HttpGet]
[Route("export")]
public IHttpActionResult ExportActionResult(Guid dataFileSetId)
{
var fileContents = _dataService.ExportParameterFiles(dataFileSetId);
return Ok(fileContents);
}
С клиента:
public async void ExportData()
{
//code to request data from the server
requestUri = ipaddress:port/api/data/export?dataFileId={Id};
var response = await Client.GetAsync(requestUri);
var result = responseTask;
if(result.IsSuccessStatusCode)
{
var readTask =
result.Content.ReadAsAsync<IEnumerable<DataFlatFileDto>>();
readTask.Wait();
}
Теперь задача чтения содержит файлы, которые яотправлены с сервера, и они преобразуются в DataFileDto, поэтому имя и части данных установлены, и данные готовы для использования на клиенте!
Эта статья была ключевой в изложении того, как использовать IHttpActionResult:http://www.tutorialsteacher.com/webapi/consuming-web-api-in-dotnet-using-httpclient