コード例 #1
0
        public Task SubscribeToTriggerAsync(SubscribeToTriggerIntent intent, CancellationToken ct)
        {
            _dataStore.SubscribeToTrigger(
                intent.TriggerId,
                taskResult =>
            {
                var transitionDescriptor = new TransitionDescriptor
                {
                    Type = TransitionType.ContinueRoutine,
                    ETag = intent.Continuation.Routine.ETag
                };

                var resultDescriptor = new ResultDescriptor
                {
                    CorrelationId = intent.TriggerId,
                    Result        = taskResult
                };

                var message = new Message
                {
                    [nameof(TransitionDescriptor)] = _serializer.SerializeToString(transitionDescriptor),
                    [nameof(ServiceId)]            = _serializer.SerializeToString(intent.Continuation.ServiceId),
                    [nameof(RoutineDescriptor)]    = _serializer.SerializeToString(intent.Continuation.Routine),
                    [nameof(ResultDescriptor)]     = _serializer.SerializeToString(resultDescriptor),
                    DeliverAt = intent.Continuation.ContinueAt?.ToUniversalTime()
                };

                _dataStore.ScheduleMessage(message);
            });

            return(Task.FromResult(0));
        }
コード例 #2
0
 public Task SubscribeToTriggerAsync(SubscribeToTriggerIntent intent, CancellationToken ct)
 {
     throw new NotImplementedException();
 }