System.Web.HttpContext.Current.Session 无法取到值,有没有办法解决

shareach 2006-07-02 12:01:35
我在类库中调用System.Web.HttpContext.Current.Session, 他是null值,有没有办法取到这个值?
但是我在另一个类库中就可以取到;
两个类都是非page类
session里面肯定是非空的

QQ:249127832
...全文
1564 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
hongyc2010 2010-06-18
  • 打赏
  • 举报
回复
不明白
shareach 2006-07-02
  • 打赏
  • 举报
回复
System.Web.HttpContext.Current.Session是空的
System.Web.HttpContext.Current.Session["key"]根本无法取到
WeekZero 2006-07-02
  • 打赏
  • 举报
回复
System.Web.HttpContext.Current.Session["loginid"]

这样是可以的
shareach 2006-07-02
  • 打赏
  • 举报
回复
cat_hsfz(我的Blog在http://purl.oclc.org/NET/cathsfz)
是的,我现在就是这么做的
不过还是用Application共享好些
就是安全性差一点
tianzhi21 2006-07-02
  • 打赏
  • 举报
回复
Session["key"].toString();
要是没有值,肯定是里面为空了
cat_hsfz 2006-07-02
  • 打赏
  • 举报
回复
一个类要访问Session,必须实现(或在基类已实现)IRequireSessionState接口,这是一个标记接口,不需要实现任何函数,但你不用它标记一下你的类就肯定访问不了Session。

如果你只需要读Session,也可以用IReadonlySessionState接口,效果类似,不过是对Session只读。
winner2050 2006-07-02
  • 打赏
  • 举报
回复
System.Web.HttpContext.Current.Session["key"]这样100%能取到值。

测试一下到底 Session有多少个。
servers.Text = Session.Contents.Count.ToString();
孟子E章 2006-07-02
  • 打赏
  • 举报
回复
你怎么知道session里面肯定是非空的?
CH_MARS 2006-07-02
  • 打赏
  • 举报
回复
蹭分
up
oldcsdn 2006-07-02
  • 打赏
  • 举报
回复
是不是什么原因导致Session丢失了,你先在网页上直接取出来看看,再试
using System; using System.Data; using System.Text; namespace ZKXP.BLL { /// /// OnLine 的摘要说明。 /// public class OnLine { private string USERNAME; private int OFFLINEDIFF; private int REMOVEDIFF; public OnLine() { //直接在这里设定、或从配置文件中读取配置参数 ///存放用户名的Session名 USERNAME = "UserName"; ///多少分钟不活动的用户从在线列表中删除 OFFLINEDIFF = 5; ///多少秒执行一次删除不活动用户 REMOVEDIFF = 30; if(System.Web.HttpContext.Current.Application["OnlineTalbe"] == null) { this.CashTableInit(); } } public void CheckOnline() { //从Application获取数据表、获取SessionID DataTable dtOnline; dtOnline = (DataTable)System.Web.HttpContext.Current.Application["OnlineTalbe"]; string sessionId = System.Web.HttpContext.Current.Session.SessionID.ToString(); //数据表中是否有我的记录 DataRow drFind = dtOnline.Rows.Find(sessionId); if(drFind != null) { //有;更新我的状态 Info.Write("更新"); drFind["LastActiveTime"] = DateTime.Now; drFind["UserWhere"] = this.AtWhere; //用户由访客状态变为了登陆会员、或反之 if(Extend.GetSession(USERNAME) != null) { drFind["VisitorName"] = Extend.GetSession(USERNAME); drFind["VisitorLevel"] = Extend.GetSession("UserLevel"); } else { drFind["VisitorName"] = "vst"; drFind["VisitorLevel"] = -1; } } else { //无;加入关于我的在线信息 Info.Write("插入"); DataRow drNew = dtOnline.NewRow(); drNew["SessionID"] = sessionId; drNew["Visit

62,050

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧