Я пытаюсь подключиться к API, который возвращает кодированный GZip JSON, из службы WCF (службы WCF в службу WCF). Я использую HTTPClient для подключения к API и смог вернуть объект JSON в виде строки. Однако мне нужно иметь возможность хранить эти возвращенные данные в базе данных, и поэтому я решил, что лучшим способом было бы вернуть и сохранить объект JSON в массиве или байте или что-то в том же духе.
С чем конкретно я сталкиваюсь, так это с распаковкой кодировки GZip, и я пробовал много разных примеров, но до сих пор не могу ее получить.
Приведенный ниже код показывает, как я устанавливаю свое соединение и получаю ответ. Это код, который возвращает строку из API.
public string getData(string foo)
{
string url = "";
HttpClient client = new HttpClient();
HttpResponseMessage response;
string responseJsonContent;
try
{
client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
response = client.GetAsync(url + foo).Result;
responseJsonContent = response.Content.ReadAsStringAsync().Result;
return responseJsonContent;
}
catch (Exception ex)
{
System.Windows.Forms.MessageBox.Show(ex.Message);
return "";
}
}
Я следовал нескольким разным примерам, таким как API StackExchange, MSDN, и паре на стековом потоке, но я не смог заставить ни один из них работать на меня.
Каков наилучший способ сделать это, я даже на правильном пути?
Спасибо, парни.