예제 #1
0
 public ReceiveBatch(IBTTransportProxy transportProxy, ControlledTermination control, ManualResetEvent orderedEvent, int depth) : base(transportProxy, true)
 {
     this.control      = control;
     this.orderedEvent = orderedEvent;
     this.innerBatch   = null;
     this.depth        = depth;
 }
예제 #2
0
 public TxnBatch(IBTTransportProxy transportProxy, ControlledTermination control, IDtcTransaction comTxn, CommittableTransaction transaction, ManualResetEvent orderedEvent, bool makeSuccessCall) : base(transportProxy, makeSuccessCall)
 {
     this.control      = control;
     this.comTxn       = comTxn;
     this.transaction  = transaction;
     this.orderedEvent = orderedEvent;
 }
 private SyncReceiveSubmitBatch(IBTTransportProxy transportProxy, ControlledTermination control,
                                ManualResetEvent submitComplete, int depth)
     : base(transportProxy, control, submitComplete, depth)
 {
     this.control               = control;
     this.workDone              = submitComplete;
     base.ReceiveBatchComplete += new ReceiveBatchCompleteHandler(OnBatchComplete);
 }
예제 #4
0
        public TxnBatch(IBTTransportProxy transportProxy, ControlledTermination control, CommittableTransaction transaction, ManualResetEvent orderedEvent, bool makeSuccessCall) : base(transportProxy, makeSuccessCall)
        {
            this.control = control;

            this.comTxn = TransactionInterop.GetDtcTransaction(transaction);

            //  the System.Transactions transaction - must be the original transaction - only that can be used to commit
            this.transaction = transaction;

            this.orderedEvent = orderedEvent;
        }
예제 #5
0
        public ReceiveBatch(IBTTransportProxy transportProxy, ControlledTermination control, ReceiveBatchCompleteHandler callback, int depth) : base(transportProxy, true)
        {
            this.control = control;

            if (callback != null)
            {
                this.ReceiveBatchComplete += callback;
            }

            this.innerBatch = null;
            this.depth      = depth;
        }
        public override void Open(string uri, IPropertyBag config, IPropertyBag bizTalkConfig, IPropertyBag handlerPropertyBag, IBTTransportProxy transportProxy, string transportType, string propertyNamespace, ControlledTermination controlledTermination)
        {
            this.transportProxy        = transportProxy;
            this.transportType         = transportType;
            this.uri                   = uri;
            this.controlledTermination = controlledTermination;
            this.properties            = new ScheduledProperties();
            XmlDocument locationConfigDom = ConfigProperties.ExtractConfigDom(config);

            this.properties.LocationConfiguration(locationConfigDom);
            //  create and schedule a new the task
            this.taskController = new TaskController(new ScheduledTask(this.properties.Name, new ScheduledTask.TaskDelegate(this.ControlledEndpointTask)), this.properties.Schedule);
            this.taskController.StateChanged += new StateChangedEventHandler(this.OnStateChanged);
            this.taskController.Enabled       = true;
            this.taskController.Start();
        }
예제 #7
0
 protected Receiver(
     string name,
     string version,
     string description,
     string transportType,
     Guid clsid,
     string propertyNamespace,
     Type endpointType)
     : base(
         name,
         version,
         description,
         transportType,
         clsid,
         propertyNamespace)
 {
     this.endpointType = endpointType;
     this.control      = new ControlledTermination();
 }
예제 #8
0
 protected AsyncTransmitter(
     string name,
     string version,
     string description,
     string transportType,
     Guid clsid,
     string propertyNamespace,
     Type endpointType,
     int maxBatchSize)
     : base(
         name,
         version,
         description,
         transportType,
         clsid,
         propertyNamespace)
 {
     this.endpointType = endpointType;
     this.maxBatchSize = maxBatchSize;
     this.control      = new ControlledTermination();
 }
 public SyncReceiveSubmitBatch(IBTTransportProxy transportProxy, ControlledTermination control, int depth)
     : this(transportProxy, control, new ManualResetEvent(false), depth)
 {
 }
 public abstract void Open(string uri, IPropertyBag config, IPropertyBag bizTalkConfig, IPropertyBag handlerPropertyBag, IBTTransportProxy transportProxy, string transportType, string propertyNamespace, ControlledTermination control);
예제 #11
0
 public AbortOnAllFailureReceiveTxnBatch(IBTTransportProxy transportProxy, ControlledTermination control, CommittableTransaction transaction, ManualResetEvent orderedEvent, StopProcessing stopProcessing) : base(transportProxy, control, transaction, orderedEvent, false)
 {
     this.stopProcessing = stopProcessing;
 }
예제 #12
0
 public AbortOnFailureReceiveTxnBatch(IBTTransportProxy transportProxy, ControlledTermination control, IDtcTransaction comTxn, CommittableTransaction transaction, ManualResetEvent orderedEvent, TxnAborted txnAborted)
     : base(transportProxy, control, comTxn, transaction, orderedEvent, false)
 {
     this.txnAborted = txnAborted;
 }
예제 #13
0
 public SingleMessageReceiveTxnBatch(IBTTransportProxy transportProxy, ControlledTermination control, CommittableTransaction transaction, ManualResetEvent orderedEvent) : base(transportProxy, control, transaction, orderedEvent, true)
 {
 }