public override void Initialize(string name, NameValueCollection config) { if (config == null) { throw new ArgumentNullException("config"); } if (String.IsNullOrEmpty(name)) { name = "SqlRoleProvider"; } if (string.IsNullOrEmpty(config["description"])) { config.Remove("description"); config.Add("description", SM.GetString(SM.RoleSqlProvider_description)); } base.Initialize(name, config); _AppName = config["applicationName"]; if (string.IsNullOrEmpty(_AppName)) { _AppName = SC.GetDefaultAppName(); } if (_AppName.Length > 256) { throw new ProviderException(SM.GetString(SM.Provider_application_name_too_long)); } config.Remove("connectionStringName"); config.Remove("applicationName"); config.Remove("commandTimeout"); if (config.Count > 0) { string attribUnrecognized = config.GetKey(0); if (!String.IsNullOrEmpty(attribUnrecognized)) { throw new ProviderException(SM.GetString(SM.Provider_unrecognized_attribute, attribUnrecognized)); } } var bll = new Applications(); if (!(bll.GetApplicationId(_AppName) is Guid)) { var appInfo = new ApplicationsInfo(Guid.Empty, "100000", _AppName, _AppName.ToLower(), "默认应用程序"); bll.Insert(appInfo); } }