Beispiel #1
0
        private static void InitializeSettings(RoleManagerSection settings)
        {
            if (!s_Initialized)
            {
                s_Providers = new RoleProviderCollection();

                if (HostingEnvironment.IsHosted)
                {
                    ProvidersHelper.InstantiateProviders(settings.Providers, s_Providers, typeof(RoleProvider));
                }
                else
                {
                    foreach (ProviderSettings ps in settings.Providers)
                    {
                        Type t = Type.GetType(ps.Type, true, true);
                        if (!typeof(RoleProvider).IsAssignableFrom(t))
                        {
                            throw new ArgumentException(SR.GetString(SR.Provider_must_implement_type, typeof(RoleProvider).ToString()));
                        }
                        RoleProvider        provider    = (RoleProvider)Activator.CreateInstance(t);
                        NameValueCollection pars        = ps.Parameters;
                        NameValueCollection cloneParams = new NameValueCollection(pars.Count, StringComparer.Ordinal);
                        foreach (string key in pars)
                        {
                            cloneParams[key] = pars[key];
                        }
                        provider.Initialize(ps.Name, cloneParams);
                        s_Providers.Add(provider);
                    }
                }
            }
        }
Beispiel #2
0
 private static void InitializeSettings(RoleManagerSection settings)
 {
     if (!s_Initialized)
     {
         s_Providers = new RoleProviderCollection();
         if (HostingEnvironment.IsHosted)
         {
             ProvidersHelper.InstantiateProviders(settings.Providers, s_Providers, typeof(RoleProvider));
         }
         else
         {
             foreach (ProviderSettings settings2 in settings.Providers)
             {
                 Type c = Type.GetType(settings2.Type, true, true);
                 if (!typeof(RoleProvider).IsAssignableFrom(c))
                 {
                     throw new ArgumentException(System.Web.SR.GetString("Provider_must_implement_type", new object[] { typeof(RoleProvider).ToString() }));
                 }
                 RoleProvider        provider   = (RoleProvider)Activator.CreateInstance(c);
                 NameValueCollection parameters = settings2.Parameters;
                 NameValueCollection config     = new NameValueCollection(parameters.Count, StringComparer.Ordinal);
                 foreach (string str in parameters)
                 {
                     config[str] = parameters[str];
                 }
                 provider.Initialize(settings2.Name, config);
                 s_Providers.Add(provider);
             }
         }
     }
 }