Example #1
0
        public HostExecution(IConsumeContext <RoutingSlip> context, Uri compensationAddress)
        {
            _context             = context;
            _compensationAddress = compensationAddress;

            _routingSlip = new SanitizedRoutingSlip(context);
            if (_routingSlip.Itinerary.Count == 0)
            {
                throw new ArgumentException("The routingSlip must contain at least one activity");
            }

            _activityTrackingNumber = NewId.NextGuid();

            _activity  = _routingSlip.Itinerary[0];
            _arguments = _routingSlip.GetActivityArguments <TArguments>();
        }
Example #2
0
        public HostExecuteContext(HostInfo host, Uri compensationAddress, ConsumeContext <RoutingSlip> context)
        {
            _host = host;
            _compensationAddress = compensationAddress;
            _context             = context;

            _timer = Stopwatch.StartNew();
            NewId newId = NewId.Next();

            _executionId = newId.ToGuid();
            _timestamp   = newId.Timestamp;

            _routingSlip = new SanitizedRoutingSlip(context);
            if (_routingSlip.Itinerary.Count == 0)
            {
                throw new ArgumentException("The routingSlip must contain at least one activity");
            }

            _activity  = _routingSlip.Itinerary[0];
            _arguments = _routingSlip.GetActivityArguments <TArguments>();

            _publisher = new RoutingSlipEventPublisher(this, _routingSlip);
        }