コード例 #1
0
ファイル: WorkflowFactory.cs プロジェクト: 1g0r/mWF
 public static Workflow <TRequest, TStepOrdinal> Create <TRequest, TStepOrdinal>(
     TRequest request,
     TimeSpan timeout,
     TimeoutLifetime timeoutLifetime,
     IErrorHandler <TRequest, TStepOrdinal> defaultErrorHandler = null,
     IInterceptor <TRequest, TStepOrdinal> defaultInterceptor   = null)
     where TStepOrdinal : struct
     where TRequest : RequestBase <TStepOrdinal>
 {
     return(new Workflow <TRequest, TStepOrdinal>(
                request,
                timeoutLifetime == TimeoutLifetime.Workflow ?
                (IStepExecutor) new TimeoutPerWorkflowExecutor(timeout) :
                new TimeoutPerStepExecutor(timeout),
                defaultErrorHandler,
                defaultInterceptor));
 }
コード例 #2
0
        public static void ExecuteChain(
            RequestMock request,
            TimeSpan timeout,
            TimeoutLifetime timeoutLifetime,
            IErrorHandler <RequestMock, RequestStepMock> defaultErrorHandler = null,
            IInterceptor <RequestMock, RequestStepMock> defaultInterceptor   = null,
            IErrorHandler <RequestMock, RequestStepMock> customErrorHandler  = null,
            IInterceptor <RequestMock, RequestStepMock> customInterceptor    = null)
        {
            var wf   = new RequestWorkflowMock();
            var pipe = WorkflowFactory.Create(request, timeout, timeoutLifetime, defaultErrorHandler, defaultInterceptor);

            pipe.InvokeStep(wf.ReadString, RequestStepMock.Step1, customErrorHandler, customInterceptor)
            .InvokeStep(wf.Parse, RequestStepMock.Step2, customErrorHandler, customInterceptor)
            .InvokeStep(wf.Mul, RequestStepMock.Step3, customErrorHandler, customInterceptor)
            .InvokeStep(wf.Sleep, RequestStepMock.Step4, customErrorHandler, customInterceptor)
            .InvokeStep(wf.Done, RequestStepMock.Done, customErrorHandler, customInterceptor);
        }