/// <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())); }
/// <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); }