public ControlOperationInvoker(OperationDescription description, ServiceEndpoint endpoint, CorrelationKeyCalculator correlationKeyCalculator, IOperationInvoker innerInvoker, ServiceHostBase host)
        {
            this.host            = (WorkflowServiceHost)host;
            this.instanceManager = this.host.DurableInstanceManager;
            this.operationName   = description.Name;
            this.isOneWay        = description.IsOneWay;
            this.endpoint        = endpoint;
            this.innerInvoker    = innerInvoker;
            this.keyCalculator   = correlationKeyCalculator;
            this.persistTimeout  = this.host.PersistTimeout;
            if (description.DeclaringContract == WorkflowControlEndpoint.WorkflowControlServiceContract)
            {
                this.isControlOperation = true;
                switch (this.operationName)
                {
                case "Cancel":
                case "TransactedCancel":
                case "Run":
                case "TransactedRun":
                case "Unsuspend":
                case "TransactedUnsuspend":
                    this.inputParameterCount = 1;
                    return;

                case "Abandon":
                case "Suspend":
                case "TransactedSuspend":
                case "Terminate":
                case "TransactedTerminate":
                    this.inputParameterCount = 2;
                    return;
                }
                throw Fx.AssertAndThrow("Unreachable code");
            }
            if (endpoint is WorkflowHostingEndpoint)
            {
                this.CanCreateInstance = true;
            }
            else
            {
                this.bufferedReceiveManager = this.host.Extensions.Find <System.ServiceModel.Activities.Dispatcher.BufferedReceiveManager>();
            }
        }
Пример #2
0
 public Calculator(CorrelationKeyCalculator parent)
 {
     this.parent = parent;
 }
 public ControlOperationInvoker(OperationDescription description, ServiceEndpoint endpoint, CorrelationKeyCalculator correlationKeyCalculator, ServiceHostBase host) : this(description, endpoint, correlationKeyCalculator, null, host)
 {
 }
Пример #4
0
 public MessageCalculator(CorrelationKeyCalculator parent) : base(parent)
 {
 }