private void PopulateSiteProperties(MetabaseReader reader)
        {
            object data = reader.GetData(this.siteAboPath, MetabasePropertyType.ServerBindings);

            if (data != null)
            {
                string[] strArray = (string[])data;
                if (strArray.Length > 0)
                {
                    base.Bindings.Add(Uri.UriSchemeHttp, strArray);
                }
            }
            data = reader.GetData(this.siteAboPath, MetabasePropertyType.SecureBindings);
            if (data != null)
            {
                string[] strArray2 = (string[])data;
                if (strArray2.Length > 0)
                {
                    base.Bindings.Add(Uri.UriSchemeHttps, strArray2);
                }
            }
            foreach (string str in base.Bindings.Keys)
            {
                base.Protocols.Add(str);
            }
        }
예제 #2
0
        void PopulateSiteProperties(MetabaseReader reader)
        {
            // 1. ServerBindings
            object propertyValue = reader.GetData(siteAboPath, MetabasePropertyType.ServerBindings);

            if (propertyValue != null)
            {
                string[] serverBindings = (string[])propertyValue;
                if (serverBindings.Length > 0)
                {
                    this.Bindings.Add(Uri.UriSchemeHttp, serverBindings);
                }
            }

            // 2. SecureBindings
            propertyValue = reader.GetData(siteAboPath, MetabasePropertyType.SecureBindings);
            if (propertyValue != null)
            {
                string[] secureBindings = (string[])propertyValue;
                if (secureBindings.Length > 0)
                {
                    this.Bindings.Add(Uri.UriSchemeHttps, secureBindings);
                }
            }

            foreach (string scheme in this.Bindings.Keys)
            {
                this.Protocols.Add(scheme);
            }
        }
        private string GetRealm(MetabaseReader reader, string relativeVirtualPath)
        {
            object obj2 = this.FindPropertyUnderAppRoot(reader, MetabasePropertyType.Realm, relativeVirtualPath);

            if (obj2 != null)
            {
                return((string)obj2);
            }
            return(this.appTransportSettings.Realm);
        }
        private AuthFlags GetAuthFlags(MetabaseReader reader, string relativeVirtualPath)
        {
            object obj2 = this.FindPropertyUnderAppRoot(reader, MetabasePropertyType.AuthFlags, relativeVirtualPath);

            if (obj2 != null)
            {
                return((AuthFlags)((uint)obj2));
            }
            return(this.appTransportSettings.AuthFlags);
        }
예제 #5
0
        string GetRealm(MetabaseReader reader, string relativeVirtualPath)
        {
            object propertyValue = FindPropertyUnderAppRoot(reader, MetabasePropertyType.Realm, relativeVirtualPath);

            if (propertyValue != null)
            {
                return((string)propertyValue);
            }

            return(appTransportSettings.Realm);
        }
예제 #6
0
        AuthFlags GetAuthFlags(MetabaseReader reader, string relativeVirtualPath)
        {
            object propertyValue = FindPropertyUnderAppRoot(reader, MetabasePropertyType.AuthFlags, relativeVirtualPath);

            if (propertyValue != null)
            {
                return((AuthFlags)(uint)propertyValue);
            }

            return(appTransportSettings.AuthFlags);
        }
 internal MetabaseSettingsIis6()
 {
     if (Iis7Helper.IsIis7)
     {
         throw Fx.AssertAndThrowFatal("MetabaseSettingsIis6 constructor must not be called when running in IIS7");
     }
     this.SetApplicationInfo();
     using (MetabaseReader reader = new MetabaseReader())
     {
         this.PopulateSiteProperties(reader);
         this.PopulateApplicationProperties(reader);
     }
 }
 internal MetabaseSettingsIis6()
 {
     if (Iis7Helper.IsIis7)
     {
         throw Fx.AssertAndThrowFatal("MetabaseSettingsIis6 constructor must not be called when running in IIS7");
     }
     this.SetApplicationInfo();
     using (MetabaseReader reader = new MetabaseReader())
     {
         this.PopulateSiteProperties(reader);
         this.PopulateApplicationProperties(reader);
     }
 }
        private string[] GetAuthProviders(MetabaseReader reader, string relativeVirtualPath)
        {
            object obj2 = this.FindPropertyUnderAppRoot(reader, MetabasePropertyType.AuthProviders, relativeVirtualPath);

            if (obj2 != null)
            {
                string[] strArray = ((string)obj2).Split(IISConstants.CommaSeparator, StringSplitOptions.RemoveEmptyEntries);
                if ((strArray != null) && (strArray.Length > 0))
                {
                    return(strArray);
                }
            }
            return(this.appTransportSettings.AuthProviders);
        }
 private object FindPropertyUnderAppRoot(MetabaseReader reader, MetabasePropertyType propertyType, string relativeVirtualPath, out string matchedPath)
 {
     string str2;
     string endAboPath = this.appAboPath + relativeVirtualPath.Substring(1);
     int index = endAboPath.IndexOf('/', this.appAboPath.Length + 1);
     if (index == -1)
     {
         str2 = endAboPath;
     }
     else
     {
         str2 = endAboPath.Substring(0, index);
     }
     return this.FindHierarchicalProperty(reader, propertyType, str2, endAboPath, out matchedPath);
 }
        private object FindPropertyUnderAppRoot(MetabaseReader reader, MetabasePropertyType propertyType, string relativeVirtualPath, out string matchedPath)
        {
            string str2;
            string endAboPath = this.appAboPath + relativeVirtualPath.Substring(1);
            int    index      = endAboPath.IndexOf('/', this.appAboPath.Length + 1);

            if (index == -1)
            {
                str2 = endAboPath;
            }
            else
            {
                str2 = endAboPath.Substring(0, index);
            }
            return(this.FindHierarchicalProperty(reader, propertyType, str2, endAboPath, out matchedPath));
        }
 private object FindHierarchicalProperty(MetabaseReader reader, MetabasePropertyType propertyType, string startAboPath, string endAboPath, out string matchedPath)
 {
     matchedPath = null;
     while (endAboPath.Length >= startAboPath.Length)
     {
         object data = reader.GetData(endAboPath, propertyType);
         if (data != null)
         {
             matchedPath = endAboPath;
             return data;
         }
         int length = endAboPath.LastIndexOf('/');
         endAboPath = endAboPath.Substring(0, length);
     }
     return null;
 }
 protected override HostedServiceTransportSettings CreateTransportSettings(string relativeVirtualPath)
 {
     HostedServiceTransportSettings settings = new HostedServiceTransportSettings();
     using (MetabaseReader reader = new MetabaseReader())
     {
         settings.Realm = this.GetRealm(reader, relativeVirtualPath);
         settings.AccessSslFlags = this.GetAccessSslFlags(reader, relativeVirtualPath);
         settings.AuthFlags = this.GetAuthFlags(reader, relativeVirtualPath);
         settings.AuthProviders = this.GetAuthProviders(reader, relativeVirtualPath);
         if ((settings.AuthFlags & AuthFlags.AuthNTLM) != AuthFlags.None)
         {
             settings.IisExtendedProtectionPolicy = this.GetExtendedProtectionPolicy();
         }
     }
     return settings;
 }
 private object FindHierarchicalProperty(MetabaseReader reader, MetabasePropertyType propertyType, string startAboPath, string endAboPath, out string matchedPath)
 {
     matchedPath = null;
     while (endAboPath.Length >= startAboPath.Length)
     {
         object data = reader.GetData(endAboPath, propertyType);
         if (data != null)
         {
             matchedPath = endAboPath;
             return(data);
         }
         int length = endAboPath.LastIndexOf('/');
         endAboPath = endAboPath.Substring(0, length);
     }
     return(null);
 }
예제 #15
0
        string[] GetAuthProviders(MetabaseReader reader, string relativeVirtualPath)
        {
            object propertyValue = FindPropertyUnderAppRoot(reader, MetabasePropertyType.AuthProviders, relativeVirtualPath);

            if (propertyValue != null)
            {
                string   providersString = (string)propertyValue;
                string[] providers       = providersString.Split(IISConstants.CommaSeparator, StringSplitOptions.RemoveEmptyEntries);
                if (providers != null && providers.Length > 0)
                {
                    return(providers);
                }
            }

            return(appTransportSettings.AuthProviders);
        }
        private void PopulateApplicationProperties(MetabaseReader reader)
        {
            int  num   = 0;
            bool flag  = false;
            bool flag2 = false;
            bool flag3 = !base.Bindings.ContainsKey(Uri.UriSchemeHttps);
            bool flag4 = false;

            this.appTransportSettings = new HostedServiceTransportSettings();
            string appAboPath = this.appAboPath;
            object obj2       = null;

            while ((num < 4) && (appAboPath.Length >= this.siteAboPath.Length))
            {
                if (!flag && ((obj2 = reader.GetData(appAboPath, MetabasePropertyType.Realm)) != null))
                {
                    this.appTransportSettings.Realm = (string)obj2;
                    flag = true;
                    num++;
                }
                if (!flag2 && ((obj2 = reader.GetData(appAboPath, MetabasePropertyType.AuthFlags)) != null))
                {
                    this.appTransportSettings.AuthFlags = (AuthFlags)((uint)obj2);
                    flag2 = true;
                    num++;
                }
                if (!flag3 && ((obj2 = reader.GetData(appAboPath, MetabasePropertyType.AccessSslFlags)) != null))
                {
                    this.appTransportSettings.AccessSslFlags = (HttpAccessSslFlags)((uint)obj2);
                    flag3 = true;
                    num++;
                }
                if (!flag4 && ((obj2 = reader.GetData(appAboPath, MetabasePropertyType.AuthProviders)) != null))
                {
                    this.appTransportSettings.AuthProviders = ((string)obj2).Split(IISConstants.CommaSeparator, StringSplitOptions.RemoveEmptyEntries);
                    flag4 = true;
                    num++;
                }
                int length = appAboPath.LastIndexOf('/');
                appAboPath = appAboPath.Substring(0, length);
            }
            if ((this.appTransportSettings.AuthProviders == null) || (this.appTransportSettings.AuthProviders.Length == 0))
            {
                this.appTransportSettings.AuthProviders = MetabaseSettingsIis.DefaultAuthProviders;
            }
        }
        protected override HostedServiceTransportSettings CreateTransportSettings(string relativeVirtualPath)
        {
            HostedServiceTransportSettings settings = new HostedServiceTransportSettings();

            using (MetabaseReader reader = new MetabaseReader())
            {
                settings.Realm          = this.GetRealm(reader, relativeVirtualPath);
                settings.AccessSslFlags = this.GetAccessSslFlags(reader, relativeVirtualPath);
                settings.AuthFlags      = this.GetAuthFlags(reader, relativeVirtualPath);
                settings.AuthProviders  = this.GetAuthProviders(reader, relativeVirtualPath);
                if ((settings.AuthFlags & AuthFlags.AuthNTLM) != AuthFlags.None)
                {
                    settings.IisExtendedProtectionPolicy = this.GetExtendedProtectionPolicy();
                }
            }
            return(settings);
        }
예제 #18
0
        object FindPropertyUnderAppRoot(MetabaseReader reader, MetabasePropertyType propertyType, string relativeVirtualPath, out string matchedPath)
        {
            string endAboPath = appAboPath + relativeVirtualPath.Substring(1);
            int    index      = endAboPath.IndexOf(IISConstants.AboPathDelimiter, appAboPath.Length + 1);

            string startAboPath;

            if (index == -1)
            {
                startAboPath = endAboPath;
            }
            else
            {
                startAboPath = endAboPath.Substring(0, index);
            }

            return(FindHierarchicalProperty(reader, propertyType, startAboPath, endAboPath, out matchedPath));
        }
예제 #19
0
        object FindHierarchicalProperty(MetabaseReader reader, MetabasePropertyType propertyType, string startAboPath, string endAboPath, out string matchedPath)
        {
            matchedPath = null;
            while (endAboPath.Length >= startAboPath.Length)
            {
                object propertyValue = reader.GetData(endAboPath, propertyType);
                if (propertyValue != null)
                {
                    matchedPath = endAboPath;
                    return(propertyValue);
                }

                // Continue the search in the parent
                int index = endAboPath.LastIndexOf(IISConstants.AboPathDelimiter);
                endAboPath = endAboPath.Substring(0, index);
            }

            return(null);
        }
        void PopulateSiteProperties(MetabaseReader reader)
        {
            // 1. ServerBindings
            object propertyValue = reader.GetData(siteAboPath, MetabasePropertyType.ServerBindings);
            if (propertyValue != null)
            {
                string[] serverBindings = (string[])propertyValue;
                if (serverBindings.Length > 0)
                {
                    this.Bindings.Add(Uri.UriSchemeHttp, serverBindings);
                }
            }

            // 2. SecureBindings
            propertyValue = reader.GetData(siteAboPath, MetabasePropertyType.SecureBindings);
            if (propertyValue != null)
            {
                string[] secureBindings = (string[])propertyValue;
                if (secureBindings.Length > 0)
                {
                    this.Bindings.Add(Uri.UriSchemeHttps, secureBindings);
                }
            }

            foreach (string scheme in this.Bindings.Keys)
            {
                this.Protocols.Add(scheme);
            }
        }
        string[] GetAuthProviders(MetabaseReader reader, string relativeVirtualPath)
        {
            object propertyValue = FindPropertyUnderAppRoot(reader, MetabasePropertyType.AuthProviders, relativeVirtualPath);
            if (propertyValue != null)
            {
                string providersString = (string)propertyValue;
                string[] providers = providersString.Split(IISConstants.CommaSeparator, StringSplitOptions.RemoveEmptyEntries);
                if (providers != null && providers.Length > 0)
                {
                    return providers;
                }
            }

            return appTransportSettings.AuthProviders;
        }
        AuthFlags GetAuthFlags(MetabaseReader reader, string relativeVirtualPath)
        {
            object propertyValue = FindPropertyUnderAppRoot(reader, MetabasePropertyType.AuthFlags, relativeVirtualPath);
            if (propertyValue != null)
            {
                return (AuthFlags)(uint)propertyValue;
            }

            return appTransportSettings.AuthFlags;
        }
        string GetRealm(MetabaseReader reader, string relativeVirtualPath)
        {
            object propertyValue = FindPropertyUnderAppRoot(reader, MetabasePropertyType.Realm, relativeVirtualPath);
            if (propertyValue != null)
            {
                return (string)propertyValue;
            }

            return appTransportSettings.Realm;
        }
 private object FindPropertyUnderAppRoot(MetabaseReader reader, MetabasePropertyType propertyType, string relativeVirtualPath)
 {
     string str;
     return this.FindPropertyUnderAppRoot(reader, propertyType, relativeVirtualPath, out str);
 }
예제 #25
0
        void PopulateApplicationProperties(MetabaseReader reader)
        {
            int  foundCount          = 0;
            bool foundRealm          = false;
            bool foundAuthFlags      = false;
            bool foundAccessSslFlags = !Bindings.ContainsKey(Uri.UriSchemeHttps);
            bool foundAuthProviders  = false;

            appTransportSettings = new HostedServiceTransportSettings();

            string endAboPath    = appAboPath;
            object propertyValue = null;

            while (foundCount < 4 && endAboPath.Length >= siteAboPath.Length)
            {
                // Realm
                if (!foundRealm && ((propertyValue = reader.GetData(endAboPath, MetabasePropertyType.Realm))
                                    != null))
                {
                    appTransportSettings.Realm = (string)propertyValue;
                    foundRealm = true;
                    foundCount++;
                }

                // AuthFlags
                if (!foundAuthFlags && ((propertyValue = reader.GetData(endAboPath, MetabasePropertyType.AuthFlags))
                                        != null))
                {
                    appTransportSettings.AuthFlags = (AuthFlags)(uint)propertyValue;
                    foundAuthFlags = true;
                    foundCount++;
                }

                // AccessSslFlags
                if (!foundAccessSslFlags && ((propertyValue = reader.GetData(endAboPath, MetabasePropertyType.AccessSslFlags))
                                             != null))
                {
                    appTransportSettings.AccessSslFlags = (HttpAccessSslFlags)(uint)propertyValue;
                    foundAccessSslFlags = true;
                    foundCount++;
                }

                // NTAuthProviders
                if (!foundAuthProviders && ((propertyValue = reader.GetData(endAboPath, MetabasePropertyType.AuthProviders))
                                            != null))
                {
                    string providersString = (string)propertyValue;
                    appTransportSettings.AuthProviders = providersString.Split(IISConstants.CommaSeparator, StringSplitOptions.RemoveEmptyEntries);
                    foundAuthProviders = true;
                    foundCount++;
                }

                // Continue the search in the parent path
                int index = endAboPath.LastIndexOf(IISConstants.AboPathDelimiter);
                endAboPath = endAboPath.Substring(0, index);
            }

            if (appTransportSettings.AuthProviders == null || appTransportSettings.AuthProviders.Length == 0)
            {
                appTransportSettings.AuthProviders = DefaultAuthProviders;
            }
        }
 private string GetRealm(MetabaseReader reader, string relativeVirtualPath)
 {
     object obj2 = this.FindPropertyUnderAppRoot(reader, MetabasePropertyType.Realm, relativeVirtualPath);
     if (obj2 != null)
     {
         return (string) obj2;
     }
     return this.appTransportSettings.Realm;
 }
        object FindPropertyUnderAppRoot(MetabaseReader reader, MetabasePropertyType propertyType, string relativeVirtualPath, out string matchedPath)
        {
            string endAboPath = appAboPath + relativeVirtualPath.Substring(1);
            int index = endAboPath.IndexOf(IISConstants.AboPathDelimiter, appAboPath.Length + 1);

            string startAboPath;
            if (index == -1)
            {
                startAboPath = endAboPath;
            }
            else
            {
                startAboPath = endAboPath.Substring(0, index);
            }

            return FindHierarchicalProperty(reader, propertyType, startAboPath, endAboPath, out matchedPath);
        }
 private void PopulateApplicationProperties(MetabaseReader reader)
 {
     int num = 0;
     bool flag = false;
     bool flag2 = false;
     bool flag3 = !base.Bindings.ContainsKey(Uri.UriSchemeHttps);
     bool flag4 = false;
     this.appTransportSettings = new HostedServiceTransportSettings();
     string appAboPath = this.appAboPath;
     object obj2 = null;
     while ((num < 4) && (appAboPath.Length >= this.siteAboPath.Length))
     {
         if (!flag && ((obj2 = reader.GetData(appAboPath, MetabasePropertyType.Realm)) != null))
         {
             this.appTransportSettings.Realm = (string) obj2;
             flag = true;
             num++;
         }
         if (!flag2 && ((obj2 = reader.GetData(appAboPath, MetabasePropertyType.AuthFlags)) != null))
         {
             this.appTransportSettings.AuthFlags = (AuthFlags) ((uint) obj2);
             flag2 = true;
             num++;
         }
         if (!flag3 && ((obj2 = reader.GetData(appAboPath, MetabasePropertyType.AccessSslFlags)) != null))
         {
             this.appTransportSettings.AccessSslFlags = (HttpAccessSslFlags) ((uint) obj2);
             flag3 = true;
             num++;
         }
         if (!flag4 && ((obj2 = reader.GetData(appAboPath, MetabasePropertyType.AuthProviders)) != null))
         {
             this.appTransportSettings.AuthProviders = ((string) obj2).Split(IISConstants.CommaSeparator, StringSplitOptions.RemoveEmptyEntries);
             flag4 = true;
             num++;
         }
         int length = appAboPath.LastIndexOf('/');
         appAboPath = appAboPath.Substring(0, length);
     }
     if ((this.appTransportSettings.AuthProviders == null) || (this.appTransportSettings.AuthProviders.Length == 0))
     {
         this.appTransportSettings.AuthProviders = MetabaseSettingsIis.DefaultAuthProviders;
     }
 }
 private HttpAccessSslFlags GetAccessSslFlags(MetabaseReader reader, string relativeVirtualPath)
 {
     object obj2 = this.FindPropertyUnderAppRoot(reader, MetabasePropertyType.AccessSslFlags, relativeVirtualPath);
     if (obj2 != null)
     {
         return (HttpAccessSslFlags) ((uint) obj2);
     }
     return this.appTransportSettings.AccessSslFlags;
 }
        private object FindPropertyUnderAppRoot(MetabaseReader reader, MetabasePropertyType propertyType, string relativeVirtualPath)
        {
            string str;

            return(this.FindPropertyUnderAppRoot(reader, propertyType, relativeVirtualPath, out str));
        }
        void PopulateApplicationProperties(MetabaseReader reader)
        {
            int foundCount = 0;
            bool foundRealm = false;
            bool foundAuthFlags = false;
            bool foundAccessSslFlags = !Bindings.ContainsKey(Uri.UriSchemeHttps);
            bool foundAuthProviders = false;

            appTransportSettings = new HostedServiceTransportSettings();

            string endAboPath = appAboPath;
            object propertyValue = null;
            while (foundCount < 4 && endAboPath.Length >= siteAboPath.Length)
            {
                // Realm
                if (!foundRealm && ((propertyValue = reader.GetData(endAboPath, MetabasePropertyType.Realm))
                    != null))
                {
                    appTransportSettings.Realm = (string)propertyValue;
                    foundRealm = true;
                    foundCount++;
                }

                // AuthFlags
                if (!foundAuthFlags && ((propertyValue = reader.GetData(endAboPath, MetabasePropertyType.AuthFlags))
                    != null))
                {
                    appTransportSettings.AuthFlags = (AuthFlags)(uint)propertyValue;
                    foundAuthFlags = true;
                    foundCount++;
                }

                // AccessSslFlags
                if (!foundAccessSslFlags && ((propertyValue = reader.GetData(endAboPath, MetabasePropertyType.AccessSslFlags))
                    != null))
                {
                    appTransportSettings.AccessSslFlags = (HttpAccessSslFlags)(uint)propertyValue;
                    foundAccessSslFlags = true;
                    foundCount++;
                }

                // NTAuthProviders
                if (!foundAuthProviders && ((propertyValue = reader.GetData(endAboPath, MetabasePropertyType.AuthProviders))
                    != null))
                {
                    string providersString = (string)propertyValue;
                    appTransportSettings.AuthProviders = providersString.Split(IISConstants.CommaSeparator, StringSplitOptions.RemoveEmptyEntries);
                    foundAuthProviders = true;
                    foundCount++;
                }

                // Continue the search in the parent path
                int index = endAboPath.LastIndexOf(IISConstants.AboPathDelimiter);
                endAboPath = endAboPath.Substring(0, index);
            }

            if (appTransportSettings.AuthProviders == null || appTransportSettings.AuthProviders.Length == 0)
            {
                appTransportSettings.AuthProviders = DefaultAuthProviders;
            }
        }
예제 #32
0
        object FindPropertyUnderAppRoot(MetabaseReader reader, MetabasePropertyType propertyType, string relativeVirtualPath)
        {
            string matchedPath;

            return(FindPropertyUnderAppRoot(reader, propertyType, relativeVirtualPath, out matchedPath));
        }
 object FindPropertyUnderAppRoot(MetabaseReader reader, MetabasePropertyType propertyType, string relativeVirtualPath)
 {
     string matchedPath;
     return FindPropertyUnderAppRoot(reader, propertyType, relativeVirtualPath, out matchedPath);
 }
 private void PopulateSiteProperties(MetabaseReader reader)
 {
     object data = reader.GetData(this.siteAboPath, MetabasePropertyType.ServerBindings);
     if (data != null)
     {
         string[] strArray = (string[]) data;
         if (strArray.Length > 0)
         {
             base.Bindings.Add(Uri.UriSchemeHttp, strArray);
         }
     }
     data = reader.GetData(this.siteAboPath, MetabasePropertyType.SecureBindings);
     if (data != null)
     {
         string[] strArray2 = (string[]) data;
         if (strArray2.Length > 0)
         {
             base.Bindings.Add(Uri.UriSchemeHttps, strArray2);
         }
     }
     foreach (string str in base.Bindings.Keys)
     {
         base.Protocols.Add(str);
     }
 }
        object FindHierarchicalProperty(MetabaseReader reader, MetabasePropertyType propertyType, string startAboPath, string endAboPath, out string matchedPath)
        {
            matchedPath = null;
            while (endAboPath.Length >= startAboPath.Length)
            {
                object propertyValue = reader.GetData(endAboPath, propertyType);
                if (propertyValue != null)
                {
                    matchedPath = endAboPath;
                    return propertyValue;
                }

                // Continue the search in the parent
                int index = endAboPath.LastIndexOf(IISConstants.AboPathDelimiter);
                endAboPath = endAboPath.Substring(0, index);
            }

            return null;
        }
 private string[] GetAuthProviders(MetabaseReader reader, string relativeVirtualPath)
 {
     object obj2 = this.FindPropertyUnderAppRoot(reader, MetabasePropertyType.AuthProviders, relativeVirtualPath);
     if (obj2 != null)
     {
         string[] strArray = ((string) obj2).Split(IISConstants.CommaSeparator, StringSplitOptions.RemoveEmptyEntries);
         if ((strArray != null) && (strArray.Length > 0))
         {
             return strArray;
         }
     }
     return this.appTransportSettings.AuthProviders;
 }