private QueueMessagePolicy BuildPolicy(QueueDefinition definition, uint?sendAfterSeconds, uint?expireAfterSeconds) { QueueMessagePolicy result = null; if (definition.MaxRetryBeforeSendingToDeadLetterQueue > 0 && !String.IsNullOrWhiteSpace(definition.DeadLetterQueueName)) { result = result ?? new QueueMessagePolicy(); result.MaxReceiveCount = (int)definition.MaxRetryBeforeSendingToDeadLetterQueue; result.MaxReceiveQueue = definition.DeadLetterQueueName; } if (expireAfterSeconds.HasValue) { result = result ?? new QueueMessagePolicy(); result.ExpirationSeconds = (int)expireAfterSeconds.Value; } if (sendAfterSeconds.HasValue) { result = result ?? new QueueMessagePolicy(); result.DelaySeconds = (int)sendAfterSeconds.Value; } return(result); }
private IObjectSerialization GetSerializer(QueueDefinition definition) { if (null == definition) { throw new ArgumentNullException(nameof(definition)); } if (null == definition.Serializer || !_serviceProvider.TryResolve <IObjectSerialization>(definition.Serializer, out var serializer)) { return(_serviceProvider.Resolve <IObjectSerialization>()); } return(serializer); }