//Запрос к ресурсу и возврат результата в формате строки string GetResponse() { StreamReader resultStreamReader = null; try { var request = (HttpWebRequest)WebRequest.Create(Uri); var response = (HttpWebResponse)request.GetResponse(); resultStreamReader = new StreamReader(response.GetResponseStream()); } catch (WebException e) { _failureArgs = new FdrRecorderFailureEventArgs(this, e.Message); _failureTimer.Start(); return(null); } var result = resultStreamReader.ReadToEnd(); if (string.IsNullOrWhiteSpace(result)) { _failureArgs = new FdrRecorderFailureEventArgs(this, "Response is empty"); _failureTimer.Start(); return(null); } if (result.Contains("\"valid\": false")) { _failureArgs = new FdrRecorderFailureEventArgs(this, "Not valid"); _failureTimer.Start(); return(null); } return(result); }
private void OnRecorderFailure(FdrRecorderFailureEventArgs e) { if (!Started) { return; } StatusLabelSecond.Content = string.Format(Properties.Resources.state_recorder_failed_format, e.Recorder.Uri, e.Reason); }
//Обработчик сбоя рекордера, обрабатывает сбой и генерирует //соответствующее типу сбоя событие. void RecorderFailure(FdrRecorderFailureEventArgs e) { if (e.Recorder.IsCritical) { if (OnTotalFailure != null) { OnTotalFailure(new FdrManagerEventArgs(Properties.Resources.critical_recorder_error)); } State = ManagerState.Failure; _finishedRecorders.Clear(); } else { if (OnRecorderFailure != null) { OnRecorderFailure(e); } _finishedRecorders.Remove(e.Recorder); _recorderThreads[e.Recorder].Abort(); } }