2009-07-03 8 views
1

Je sais que je peux obtenir une référence à la valeur par défaut dans le profil ASP.NET avec le code comme ceci:Comment obtenir une référence à une ProfileBase non définie par défaut dans ASP.NET?

ProfileBase p = ProfileBase.Create(username); 

(Je sais qu'il ya aussi HttpContext.Current.Profile, mais qui est pour l'utilisateur actuel, et Je dois obtenir le profil par nom d'utilisateur)

le code ci-dessus ne fonctionne que pour le fournisseur par défaut tel que défini dans l'attribut defaultProvider dans web.config.

<profile defaultProvider="SqlProfileProvider"> 
<providers> 
<clear /> 
<add applicationName="Gallery Server Pro" connectionStringName="SQLiteDbConnection" 
name="SQLiteProfileProvider"  type="GalleryServerPro.Data.SQLite.SQLiteProfileProvider" /> 
<add applicationName="Gallery Server Pro" connectionStringName="SqlServerDbConnection" 
name="SqlProfileProvider" type="System.Web.Profile.SqlProfileProvider" /> 
</providers> 
<properties> 
<add name="ShowMediaObjectMetadata" defaultValue="false" type="String" allowAnonymous="true" /> 
<add name="UserAlbumId" defaultValue="0" type="Int32" allowAnonymous="false" /> 
<add name="EnableUserAlbum" defaultValue="true" type="String" allowAnonymous="false" /> 
</properties> 
</profile> 

Comment pourrais-je obtenir une référence à un non -défaut fournisseur? Par exemple, le fournisseur nommé SQLiteProfileProvider montré ci-dessus? Je l'ai travailler pour les rôles et les membres:

RoleProvider rp = Roles.Providers["SQLiteRoleProvider"]; 

Mais le modèle objet de profil est différent et je ne peux pas le comprendre. Merci pour toute aide!

Roger Martin

Gallery Server Pro

Répondre

-2

Utiliser la classe ProfileManager dans NET Framework

Questions connexes