Я тестирую новый Пример когнитивного сервиса 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;
}
}
он должен вернуть анализрезультат, но возвращает исключение