internal static bool IsDisabled(MethodInfo method, INameResolver nameResolver, IJobActivator activator) { ParameterInfo triggerParameter = method.GetParameters().FirstOrDefault(); if (triggerParameter != null) { // look for the first DisableAttribute up the hierarchy DisableAttribute disableAttribute = TypeUtility.GetHierarchicalAttributeOrNull <DisableAttribute>(triggerParameter); if (disableAttribute != null) { if (!string.IsNullOrEmpty(disableAttribute.SettingName)) { return(IsDisabledBySetting(disableAttribute.SettingName, method, nameResolver)); } else if (disableAttribute.ProviderType != null) { // a custom provider Type has been specified return(IsDisabledByProvider(disableAttribute.ProviderType, method, activator)); } else { // the default constructor was used return(true); } } } return(false); }
internal static bool IsDisabled(MethodInfo method, INameResolver nameResolver, IJobActivator activator) { // First try to resolve disabled state by setting string settingName = string.Format(CultureInfo.InvariantCulture, "AzureWebJobs.{0}.Disabled", Utility.GetFunctionName(method)); // Linux does not support dots in env variable name. So we replace dots with underscores. string settingNameLinux = string.Format(CultureInfo.InvariantCulture, "AzureWebJobs_{0}_Disabled", Utility.GetFunctionName(method)); if (ConfigurationUtility.IsSettingEnabled(settingName) || ConfigurationUtility.IsSettingEnabled(settingNameLinux)) { return(true); } else { // Second try to resolve disabled state by attribute ParameterInfo triggerParameter = method.GetParameters().FirstOrDefault(); if (triggerParameter != null) { // look for the first DisableAttribute up the hierarchy DisableAttribute disableAttribute = TypeUtility.GetHierarchicalAttributeOrNull <DisableAttribute>(triggerParameter); if (disableAttribute != null) { if (!string.IsNullOrEmpty(disableAttribute.SettingName)) { return(IsDisabledBySetting(disableAttribute.SettingName, method, nameResolver)); } else if (disableAttribute.ProviderType != null) { // a custom provider Type has been specified return(IsDisabledByProvider(disableAttribute.ProviderType, method, activator)); } else { // the default constructor was used return(true); } } } return(false); } }