在我的网站上,当用户登录时,我创建一个具有以下属性的会话对象
DisplayName,
Email,
MemberId
问题
答案 0 :(得分:2)
我的答案不是直接解决你的问题。这只是一种替代方法。
我创建自定义上下文来跟踪当前登录用户的个人资料,而不是自定义配置文件提供程序。这是示例代码。您可以存储DisplayName,Email,MemberId代替MyUser类。
void Application_AuthenticateRequest(object sender, EventArgs e)
{
if (HttpContext.Current.User != null &&
HttpContext.Current.User.Identity.IsAuthenticated)
{
MyContext.Current.MyUser = YOURCODE.GetUserByUsername(HttpContext.Current.User.Identity.Name);
}
}
public class MyContext
{
private MyUser _myUser;
public static MyContext Current
{
get
{
if (HttpContext.Current.Items["MyContext"] == null)
{
MyContext context = new MyContext();
HttpContext.Current.Items.Add("MyContext", context);
return context;
}
return (MyContext) HttpContext.Current.Items["MyContext"];
}
}
public MyUser MyUser
{
get { return _myUser; }
set { _myUser = value; }
}
}
}