public QueueTriggerBinding(string parameterName, IStorageQueue queue, ITriggerDataArgumentBinding<IStorageQueueMessage> argumentBinding, IQueueConfiguration queueConfiguration, IBackgroundExceptionDispatcher backgroundExceptionDispatcher, IContextSetter<IMessageEnqueuedWatcher> messageEnqueuedWatcherSetter, ISharedContextProvider sharedContextProvider, TextWriter log) { if (queue == null) { throw new ArgumentNullException("queue"); } if (argumentBinding == null) { throw new ArgumentNullException("argumentBinding"); } if (queueConfiguration == null) { throw new ArgumentNullException("queueConfiguration"); } if (backgroundExceptionDispatcher == null) { throw new ArgumentNullException("backgroundExceptionDispatcher"); } if (messageEnqueuedWatcherSetter == null) { throw new ArgumentNullException("messageEnqueuedWatcherSetter"); } if (sharedContextProvider == null) { throw new ArgumentNullException("sharedContextProvider"); } if (log == null) { throw new ArgumentNullException("log"); } _parameterName = parameterName; _queue = queue; _argumentBinding = argumentBinding; _bindingDataContract = CreateBindingDataContract(argumentBinding); _queueConfiguration = queueConfiguration; _backgroundExceptionDispatcher = backgroundExceptionDispatcher; _messageEnqueuedWatcherSetter = messageEnqueuedWatcherSetter; _sharedContextProvider = sharedContextProvider; _log = log; _converter = CreateConverter(queue); }
private ServiceBusTriggerBinding(string parameterName, Type parameterType, ITriggerDataArgumentBinding <BrokeredMessage> argumentBinding, ServiceBusAccount account, AccessRights accessRights, ServiceBusConfiguration config) { _parameterName = parameterName; _converter = CreateConverter(parameterType); _argumentBinding = argumentBinding; _account = account; _namespaceName = ServiceBusClient.GetNamespaceName(account); _accessRights = accessRights; _config = config; }
public ServiceBusTriggerBinding(string parameterName, ITriggerDataArgumentBinding<BrokeredMessage> argumentBinding, ServiceBusAccount account, string topicName, string subscriptionName, AccessRights accessRights) { _parameterName = parameterName; _argumentBinding = argumentBinding; _account = account; _namespaceName = ServiceBusClient.GetNamespaceName(account); _topicName = topicName; _subscriptionName = subscriptionName; _entityPath = SubscriptionClient.FormatSubscriptionPath(topicName, subscriptionName); _accessRights = accessRights; }
public ServiceBusTriggerBinding(string parameterName, Type parameterType, ITriggerDataArgumentBinding<BrokeredMessage> argumentBinding, ServiceBusAccount account, string queueName, AccessRights accessRights) { _parameterName = parameterName; _converter = CreateConverter(parameterType); _argumentBinding = argumentBinding; _account = account; _namespaceName = ServiceBusClient.GetNamespaceName(account); _queueName = queueName; _entityPath = queueName; _accessRights = accessRights; }
private static IReadOnlyDictionary<string, Type> CreateBindingDataContract(ITriggerDataArgumentBinding<IStorageQueueMessage> argumentBinding) { Dictionary<string, Type> contract = new Dictionary<string, Type>(StringComparer.OrdinalIgnoreCase); contract.Add("QueueTrigger", typeof(string)); contract.Add("DequeueCount", typeof(int)); contract.Add("ExpirationTime", typeof(DateTimeOffset)); contract.Add("Id", typeof(string)); contract.Add("InsertionTime", typeof(DateTimeOffset)); contract.Add("NextVisibleTime", typeof(DateTimeOffset)); contract.Add("PopReceipt", typeof(string)); if (argumentBinding.BindingDataContract != null) { foreach (KeyValuePair<string, Type> item in argumentBinding.BindingDataContract) { // In case of conflict, binding data from the value type overrides the built-in binding data above. contract[item.Key] = item.Value; } } return contract; }