示例#1
0
        /// <summary>
        /// Resolves model type for queue messages
        /// </summary>
        private void ResolveQueue(Type type, TypeDeliveryDescriptor descriptor)
        {
            QueueNameAttribute queueNameAttribute = type.GetCustomAttribute <QueueNameAttribute>(true);

            if (queueNameAttribute != null)
            {
                descriptor.HasQueueName = true;
                descriptor.QueueName    = string.IsNullOrEmpty(queueNameAttribute.Name) ? type.Name : queueNameAttribute.Name;
            }
            else
            {
                descriptor.QueueName = type.Name;
            }

            DelayBetweenMessagesAttribute delayAttr = type.GetCustomAttribute <DelayBetweenMessagesAttribute>(true);

            if (delayAttr != null)
            {
                descriptor.DelayBetweenMessages = delayAttr.Value;
            }

            PutBackDelayAttribute putbackAttr = type.GetCustomAttribute <PutBackDelayAttribute>(true);

            if (putbackAttr != null)
            {
                descriptor.PutBackDelay = putbackAttr.Value;
            }
        }
示例#2
0
 public QueueClient <T> Queue <T>()
 {
     return(new QueueClient <T>(this, QueueNameAttribute.GetName <T>()));
 }
 public QueueClient <T> Queue <T>()
 {
     return(Queue <T>(QueueNameAttribute.GetName <T>()));
 }
 public async Task <PushForwardQueueClient> PushQueue <T>(PushForwardConfig config = null)
 {
     return(await PushQueue(QueueNameAttribute.GetName <T>(), config));
 }