如何在ASP.NET中获取对非默认ProfileBase的引用?

时间:2009-07-03 13:45:03

标签: asp.net profile

我知道我可以使用以下代码获取对ASP.NET中默认配置文件的引用:

ProfileBase p = ProfileBase.Create(username);

(我知道还有HttpContext.Current.Profile,但这适用于当前用户,我需要通过用户名获取配置文件。)

以上代码仅适用于web.config中defaultProvider属性中定义的DEFAULT提供程序:

<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>

我如何获得对非默认提供商的引用?例如,上面显示的名为SQLiteProfileProvider的提供程序?我让它为角色和成员工作:

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

但是Profile对象模型不同,我无法弄明白。谢谢你的帮助!

罗杰马丁

Gallery Server Pro

1 个答案:

答案 0 :(得分:-2)

在.net framework中使用ProfileManager类