public SendRequestReceiveResponseScope() { tryCatch = new TryCatch { //Try = Body, // it is already set above Catches = { new Catch <Exception> { Action = new ActivityAction <Exception> { Handler = new Sequence { Activities = { new ConditionalOperationTaskWaiter(), new Rethrow(), }, }, }, }, }, // The Finally works differently here than in C#, it is called only when the Try/Catch blocks complete. // In case of exception, those activities above will always Fault (the Body or additionally the operation task will throw). // This Finally is called only in case of Close or Cancel, in case of Cancel, we should also check the operation task's observed state. // A special case, when this scope is in an external TryCatch and that Catch handles the propagated exception, // in this case both Fault and Cancel happens, and we double-check the the operation task's observed state. Finally = new ConditionalOperationTaskWaiter(), }; noPersistHandle = new Variable <NoPersistHandle>(); Constraints.Add(OperationActivityHelper.VerifyParentIsWorkflowActivity()); Constraints.Add(SendRequestReceiveResponseScopeHelper.VerifySendRequestReceiveResponseScopeChildren()); Constraints.Add(SendRequestReceiveResponseScopeHelper.SetSendRequestReceiveResponseScopeExecutionPropertyFactory()); }
public ReceiveResponse() { responseResultWaiter = TaskFuncTaskWaiter.CreateActivityDelegate(); responseResultEvaluator = TaskFuncEvaluator.CreateActivityDelegate(); Constraints.Add(OperationActivityHelper.VerifyParentIsWorkflowActivity()); Constraints.Add(OperationActivityHelper.VerifyParentIsSendRequestReceiveResponseScope()); }
public ReceiveRequestSendResponseScope() { DelegateInArgument <Exception> propagatedException = new DelegateInArgument <Exception>(); tryCatch = new TryCatch { //Try = Body, // it is already set above Catches = { new Catch <Exception> { Action = new ActivityAction <Exception> { Argument = propagatedException, Handler = new ProtectFaultedOperation { PropagatedException = propagatedException, }, }, }, }, // The Finally works differently here than in C#, it is called only when the Try/Catch blocks complete. // In case of exception, ProtectFaultedOperation will handle the exception and will close, won't fault. // So this Finally is called in case of Close, Cancel or Fault, only in case of Close or Cancel, we should check the operation task's completion state. Finally = new ProtectClosedOrCanceledOperation(), }; Constraints.Add(OperationActivityHelper.VerifyParentIsWorkflowActivity()); Constraints.Add(ReceiveRequestSendResponseScopeHelper.VerifyReceiveRequestSendResponseScopeChildren()); Constraints.Add(ReceiveRequestSendResponseScopeHelper.SetWorkflowInterfaceOperationNames()); Constraints.Add(ReceiveRequestSendResponseScopeHelper.SetReceiveRequestSendResponseScopeExecutionPropertyFactory()); }
public SendRequest() { OperationNames = new ObservableCollection <string>(); Constraints.Add(OperationActivityHelper.VerifyParentIsWorkflowActivity()); Constraints.Add(OperationActivityHelper.VerifyParentIsSendRequestReceiveResponseScope()); Constraints.Add(OperationActivityHelper.VerifyIsOperationNameSetAndValid()); }
public ReceiveRequest() { this.OperationNames = new ObservableCollection <string>(); this.requestResultEvaluator = TaskFuncEvaluator.CreateActivityDelegate(); this.Constraints.Add(OperationActivityHelper.VerifyParentIsWorkflowActivity()); this.Constraints.Add(OperationActivityHelper.VerifyParentIsReceiveRequestSendResponseScope()); this.Constraints.Add(OperationActivityHelper.VerifyIsOperationNameSetAndValid()); }
public SendRequest() { OperationNames = new ObservableCollection <string>(); Constraints.Add(OperationActivityHelper.VerifyParentIsWorkflowActivity()); Constraints.Add(OperationActivityHelper.VerifyIsOperationNameSet()); Constraints.Add(OperationActivityHelper.SetWorkflowCallbackInterfaceOperationNames()); Constraints.Add(SendRequestReceiveResponseScopeHelper.VerifyParentIsSendRequestReceiveResponseScope()); }
public ReceiveRequest() { OperationNames = new ObservableCollection <string>(); requestResultEvaluator = TaskFuncEvaluator.CreateActivityDelegate(); Constraints.Add(OperationActivityHelper.VerifyParentIsWorkflowActivity()); Constraints.Add(OperationActivityHelper.VerifyIsOperationNameSet()); Constraints.Add(OperationActivityHelper.SetWorkflowInterfaceOperationNames()); Constraints.Add(ReceiveRequestSendResponseScopeHelper.VerifyParentIsReceiveRequestSendResponseScope()); }
public SendResponse() { persist = new Persist(); Constraints.Add(OperationActivityHelper.VerifyParentIsWorkflowActivity()); Constraints.Add(OperationActivityHelper.VerifyParentIsReceiveRequestSendResponseScope()); }
public ReceiveRequestSendResponseScope() { Constraints.Add(OperationActivityHelper.VerifyParentIsWorkflowActivity()); Constraints.Add(ReceiveRequestSendResponseScopeHelper.VerifyReceiveRequestSendResponseScopeChildren()); Constraints.Add(ReceiveRequestSendResponseScopeHelper.SetReceiveRequestSendResponseScopeExecutionPropertyFactory()); }