/// <summary> /// обобщенный метод получения данных по сети /// </summary> /// <typeparam name="T"></typeparam> /// <param name="uri"></param> /// <returns></returns> private async Task <IEnumerable <T> > GetData <T>(Uri uri) where T : class { try { return(await Task.Run(() => { //var client = new CustomWebClient(); var client = StandartWebClient.GetInstance(); var request = client.CreateRequest(uri); string data; client.CreateResponse(request, out data); if (!string.IsNullOrEmpty(data)) { IEnumerable <T> items = JsonConvert.DeserializeObject <IEnumerable <T> >(data); return items; } else { return null; } })); } catch (Exception e) { Log.Logger.Error(e); throw; } }
public async Task <float> GetVersionApp() { try { return(await Task.Run(() => { var uri = new Uri(UrlVersion); var client = StandartWebClient.GetInstance(); var request = client.CreateRequest(uri); string data; var response = client.CreateResponse(request, out data); if (!string.IsNullOrEmpty(data) && response.StatusCode == HttpStatusCode.OK) { float items = JsonConvert.DeserializeObject <float>(data); return items; } else { return -1; } })); } catch (WebException e) { Log.Logger.Error(e); return(-1); } catch (Exception e) { Log.Logger.Error(e); throw; } }
// получаем список словарей выбранного языка public async Task <string> GetLanguageWords(int idLang) { try { return(await Task.Run(() => { var client = StandartWebClient.GetInstance(); var request = client.CreateRequest(new Uri(UrlWords + idLang)); string data; client.CreateResponse(request, out data); return data; })); } catch (Exception e) { Log.Logger.Error(e); throw; } }
public static StandartWebClient GetInstance() { if (_instance != null) { return(_instance); } else { lock (_lock) { if (_instance != null) { return(_instance); } else { _instance = new StandartWebClient(); return(_instance); } } } }