示例#1
0
        //Запрос к ресурсу и возврат результата в формате строки
        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);
 }
示例#3
0
 //Обработчик сбоя рекордера, обрабатывает сбой и генерирует
 //соответствующее типу сбоя событие.
 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();
     }
 }