首页 新闻 会员 周边 捐助

Accessing User Identity In Class Library

0
悬赏园豆:10 [已关闭问题] 关闭于 2011-12-14 17:18

如题

怎样在类库中得到当前登录的用户信息?

当前用户信息存在Session中。

用System.Web.HttpContext.Current.Session报错

跟踪发现System.Web.HttpContext.Current为Null,如何能获取Session中的值?谢谢~~~

EastFuture的主页 EastFuture | 初学一级 | 园豆:182
提问于:2011-10-24 16:37
< >
分享
所有回答(1)
0

贴代码,说清楚环境。

写代码的小2B | 园豆:4377 (老鸟四级) | 2011-10-24 17:00
///<summary>
/// 当前用户信息
///</summary>
public SitePrincipal CurrentUser
{
get
{
SiteIdentity siteIdentity = null;
SitePrincipal sitePrincipal = System.Web.HttpContext.Current.Session["UserInfo"] as SitePrincipal;
if (sitePrincipal != null)
{
siteIdentity = sitePrincipal.Identity as SiteIdentity;
}

if (siteIdentity == null)
{
return new SitePrincipal ();
}
return siteIdentity;
}
}

上述代码,在Common Class Library中,此属性会在其他的Library中调用非Web

就是上面的代码中

System.Web.HttpContext.Current为Null,获取不到Session的值,不知为何?请帮小弟分析分析,非常感谢!!!


支持(0) 反对(0) EastFuture | 园豆:182 (初学一级) | 2011-10-24 17:33

@EastFuture: 是每一次请求都获取不到吗?还是说在某些特定的请求时上下文对象为null。

支持(0) 反对(0) 写代码的小2B | 园豆:4377 (老鸟四级) | 2011-10-24 17:43

@写代码的小2B: 每次都获取不到~~

支持(0) 反对(0) EastFuture | 园豆:182 (初学一级) | 2011-10-25 15:21
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册