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