private async Task <InvocationResult> InvokeCore(Func <Task <JobContinuation> > invoker)
{
try
{
var continuation = await invoker();
if (continuation != null)
{
return(InvocationResult.Suspended(continuation));
}
else
{
return(InvocationResult.Completed());
}
}
catch (Exception ex)
{
return(InvocationResult.Faulted(ex));
}
}