Beispiel #1
0
        /// <summary>
        /// Создает отложенное сообщение в шину
        /// </summary>
        /// <typeparam name="TEvent">Тип события в шине</typeparam>
        /// <param name="scheduledTime">Запланированное время отправки сообщения</param>
        /// <param name="eventModel">модель для посылки сообщения в шину</param>
        /// <returns>Возвращает токен запланированного сообщения</returns>
        public async Task <Guid> SchedulePublish <TEvent>(DateTime scheduledTime, TEvent eventModel) where TEvent : class
        {
            InitBusAndThrowOnError();

            var schedulerEndpoint = await _bus.GetSendEndpoint(_schedulerAddress);

            var scheduledMessage = await _bus.SchedulePublish(schedulerEndpoint, scheduledTime, eventModel);

            return(scheduledMessage.TokenId);
        }