Output.analysis = await task;Возврат исключения в примере анализа видеокадров - PullRequest
0 голосов
/ 07 мая 2019

Я тестирую новый Пример когнитивного сервиса Microsoft , код ниже:

, когда я пытаюсь, он возвращает исключение в FrameGrabber классе, в частности, в строке 518:

output.Analysis = await task; 

анализ равен нулю, однако в строке 78 он объявлен как:

public AnalysisResultType Analysis { get; set; } = default(AnalysisResultType);

есть предложение запустить образец?

/// <summary> Executes the analysis operation asynchronously, then returns either the
      ///     result, or any exception that was thrown. </summary>
      /// <param name="frame"> The frame. </param>
      /// <returns> A Task<NewResultEventArgs> </returns>
      protected async Task<NewResultEventArgs> DoAnalyzeFrame(VideoFrame frame)
      {
          CancellationTokenSource source = new CancellationTokenSource();

          // Make a local reference to the function, just in case someone sets
          // AnalysisFunction = null before we can call it.
          var fcn = AnalysisFunction;
          if (fcn != null)
          {
              NewResultEventArgs output = new NewResultEventArgs(frame);
              var task = fcn(frame);
              LogMessage("DoAnalysis: started task {0}", task.Id);
              try
              {
                  if (task == await Task.WhenAny(task, Task.Delay(AnalysisTimeout, source.Token)))
                  {
                      output.Analysis = await task;
                      source.Cancel();
                  }
                  else
                  {
                      output.TimedOut = true;
                  }
              }
              catch (Exception ae)
              {
                  output.Exception = ae;
              }

              LogMessage("DoAnalysis: returned from task {0}", task.Id);

              return output;
          }
          else
          {
              return null;
          }
      }

он должен вернуть анализрезультат, но возвращает исключение

...