У меня работает следующий код, который вызывает API, распаковывает ответ и затем преобразует его в объект:
public static async Task<List<marketData>> GetAllEvents()
{
string res = "";
HttpClientHandler handler = new HttpClientHandler();
handler.AutomaticDecompression = System.Net.DecompressionMethods.Deflate | System.Net.DecompressionMethods.GZip;
using (HttpClient client = new HttpClient(handler))
{
client.DefaultRequestHeaders.TryAddWithoutValidation("Accept-Encoding", "gzip, deflate");
using (HttpResponseMessage response = await client.GetAsync("http://services.betvictor.com/omds/events/query/sport/200/markettypes/6/periods/-1.json?ep=true&e=true"))
{
Stream dataStream = await response.Content.ReadAsStreamAsync();
using (StreamReader reader = new StreamReader(dataStream, Encoding.UTF8))
{
res = await reader.ReadToEndAsync();
}
dataStream.Close();
dataStream.Dispose();
}
}
handler.Dispose();
getEvents.Rootobject rawdata = JsonConvert.DeserializeObject<getEvents.Rootobject>(res);
return sortMarketsAndRaces(rawdata);
}
Это все работает абсолютно нормально при запуске на localhost, но при развертывании с использованием AzureСервер Я получаю сообщение об ошибке:
"Архивная запись была сжата с использованием неподдерживаемого метода сжатия."
Stacktrace:
в системе.IO.Compression.Inflater.Inflate (FlushCode flushCode) в System.IO.Compression.Inflater.ReadInflateOutput (Byte * bufPtr, длина Int32, FlushCode flushCode, Int32 & bytesRead) в System.IO.Compression.Inflater.InflateVert ()., Длина Int32) в System.IO.Compression.DeflateStream.FinishReadAsyncMemory (буфер ValueTask 1
readTask, Memory
1, CancellationToken cancellationToken) в System.IO.StreamReader.ReadBufferAsync () в System.IO.StreamReader.ReadToEndAsynerfP.Core.Classes.BetVictorMatching.GetAllEvents () в C: \ Data \ tf-price-service \ src \ tf.PriceService.Core \ Classes \ BetVictorMatching.cs: строка 228 в tf.PriceService.Core.Services.PriceService. <> c.d.MoveNext () в C: \ Data \ tf-price-service \ src \ tf.PriceService.Core \ Services \ PriceService.cs: строка 253 --- Конец трассировки стека из предыдущего расположения, где было сгенерировано исключение ---в tf.PriceService.Core.Services.PriceService.getAllBookmakerMeetingsAndRaces (DateTime date) в C: \ Data \ tf-price-service \ src \ tf.PriceService.Core \ Services \ PriceService.cs: строка 255 в tf.Price.Services.PriceService.processRacePrices (состояние объекта) в C: \ Data \ tf-price-service \ src \ tf.PriceService.Core \ Services \ PriceService.cs: строка 308