Windows Workflow를 처음 사용하고 Long Running 프로세스를 작성하려고합니다.
이 프로세스를 실행할 수있는 기간을 제한하려고합니다.
WorkflowInvoker.Invoke를 호출하여 작업 흐름을 트리거하여 테스트를 위해 작은 시간 경과를 전달합니다.Workflow 4 CodeActivity throwing not TimeoutException
이 특정 활동을 시도해도 완벽하게 작동하는 것 같습니다.
하지만 CodeActivity를 사용하면 시간 제한이 완전히 무시되는 것 같습니다.
왜 이런가요? 그리고 CodeActivity가 너무 오래 걸리면 시간 초과가 발생합니다.
지연 활동 작업 예 :
Activity wf = new Sequence()
{
Activities =
{
new Delay()
{
Duration = TimeSpan.FromSeconds(10)
},
}
};
try
{
WorkflowInvoker.Invoke(wf, TimeSpan.FromSeconds(5));
}
catch (TimeoutException ex)
{
Console.WriteLine(ex.Message);
}
예는 CodeActivity를 사용하려고 (이 예에서 TimeOutException이 발생됩니다) :
합니다 (TimeOutException가 발생되지 않습니다 예에서)