예제 #1
0
        /// <summary>
        /// Registers the specified binding extension. The instance must implement one of the supported
        /// binding interfaces (e.g. <see cref="IBindingProvider"/> or <see cref="ITriggerBindingProvider"/>).
        /// </summary>
        /// <param name="config">The <see cref="JobHostConfiguration"/> to register the extension with.</param>
        /// <param name="extension">The extension to register.</param>
        public static void RegisterBindingExtension(this JobHostConfiguration config, object extension)
        {
            if (config == null)
            {
                throw new ArgumentNullException("config");
            }
            if (extension == null)
            {
                throw new ArgumentNullException("extension");
            }

            IBindingProvider bindingProvider = extension as IBindingProvider;

            if (bindingProvider != null)
            {
                config.RegisterExtension <IBindingProvider>(bindingProvider);
                return;
            }

            ITriggerBindingProvider triggerBindingProvider = extension as ITriggerBindingProvider;

            if (triggerBindingProvider != null)
            {
                config.RegisterExtension <ITriggerBindingProvider>(triggerBindingProvider);
                return;
            }

            throw new ArgumentException(string.Format("'{0}' is not a valid binding extension.", extension.GetType()));
        }
예제 #2
0
        /// <summary>
        /// Registers the specified <see cref="IExtensionConfigProvider"/>
        /// </summary>
        /// <param name="config">The <see cref="JobHostConfiguration"/> to register the extension with.</param>
        /// <param name="extension">The extension to register.</param>
        public static void RegisterExtensionConfigProvider(this JobHostConfiguration config, IExtensionConfigProvider extension)
        {
            if (config == null)
            {
                throw new ArgumentNullException("config");
            }
            if (extension == null)
            {
                throw new ArgumentNullException("extension");
            }

            config.RegisterExtension(extension);
        }
        /// <summary>
        /// Registers the specified Table binding extension
        /// </summary>
        /// <param name="config">The <see cref="JobHostConfiguration"/> to register the extension with.</param>
        /// <param name="extension">The extension to register.</param>
        public static void RegisterTableBindingExtension(this JobHostConfiguration config, IArgumentBindingProvider <ITableArgumentBinding> extension)
        {
            if (config == null)
            {
                throw new ArgumentNullException("config");
            }
            if (extension == null)
            {
                throw new ArgumentNullException("extension");
            }

            config.RegisterExtension <IArgumentBindingProvider <ITableArgumentBinding> >(extension);
        }