我已经能够找到很多关于在WPF中使用ASP .NET成员资格提供程序的东西。我甚至在我的WPF应用程序中使用了ASP .NET角色提供程序。这些在WPF中非常容易使用。我找不到任何有关如何在WPF应用程序中使用ASP .NET PROFILE提供程序的信息。
我的应用程序将在位于移动车辆中的笔记本电脑上运行;它无法使用Web服务连接到服务器并对用户进行身份验证。我的代码需要能够从本地数据库中检索用户的配置文件信息。
我已经多次尝试构建一个派生自ProfileBase的类,但我尝试过的任何东西都没有用。详细说明,下面的代码摘自我最近的失败尝试:
public class UserProfile : ProfileBase {
[CustomProviderData( "AlarmsToDisplay;int" )]
public int AlarmsToDisplay {
get { return (int) GetPropertyValue( "AlarmsToDisplay" ); }
set { SetPropertyValue( "AlarmsToDisplay", value ); }
}
// Other properties following the same pattern follow.
private UserProfile() { }
public static UserProfile GetUserProfile( string username ) {
return Create( username ) as UserProfile;
}
public static UserProfile GetUserProfile( string username, bool isAuthenticated ) {
return Create( username, isAuthenticated ) as UserProfile;
}
}
在此代码中,方法GetUserProfile(string username,bool isAuthenticated)返回null。我相信这是因为编译器无法将ProfileBase强制转换为UserProfile,即使UserProfile来自ProfileBase。如果我错了,请纠正我。
有人能指出我现有的文章或描述构建从ProfileBase扩展的用户个人资料类的正确方法吗?
答案 0 :(得分:1)
我已经设法自己解决了这个问题。这是有效的:
完成这些操作后,GetUserProfile方法和ProfileBase类的Create方法返回UserProfile对象。