各位大虾神仙,我的系统是ASP.net2.0开发,页面Login是记录几个session值,
到里面的页面后,读这个session值显示到页面,我们几个人同时测试,分别记录不同的session值,会发现每一个Client的session值和登录时记录的不一样,再刷新又一样,进入不同的页面获取相同的session 值都是时而一样时而变化成别的session值。
我们多次测试,都是这样,感觉很崩溃。请各位高手救命呀!!
我设定session值的代码如下:
Session.Add("SDBPlants", ddlPlant.Text);
我获取此session值的方法如下:
if (Session.Contents["SDBPlants"] != null)
{
this.ddlPlants.Items.Clear();
this.ddlPlants.Items.Add(Session.Contents["SDBPlants"].ToString());
}你有什么意见和建议,小弟感激不尽。
到里面的页面后,读这个session值显示到页面,我们几个人同时测试,分别记录不同的session值,会发现每一个Client的session值和登录时记录的不一样,再刷新又一样,进入不同的页面获取相同的session 值都是时而一样时而变化成别的session值。
我们多次测试,都是这样,感觉很崩溃。请各位高手救命呀!!
我设定session值的代码如下:
Session.Add("SDBPlants", ddlPlant.Text);
我获取此session值的方法如下:
if (Session.Contents["SDBPlants"] != null)
{
this.ddlPlants.Items.Clear();
this.ddlPlants.Items.Add(Session.Contents["SDBPlants"].ToString());
}你有什么意见和建议,小弟感激不尽。
至于Session.Contents()方法和Session["SDBPlants"].ToString()我都有尝试过,效果一样,
崩溃了。
Session["Code"] = tbLoginCode.Text;
Session["Password"] = tbLoginPassword.Text;
我都是这样做的没遇到这种问题啊!
Session["Name"] = tbLoginCode.Text;
Session["Passw"] = tbLoginPassword.Text;
/// KEOA中所有Session的使用 的摘要说明
/// </summary>
public class KEOAWebSession
{
/// <summary>
/// 应用程序错误信息
/// </summary>
public static string ErrorMessage
{
set
{
HttpContext.Current.Session["ErrorMessage"] = value;
}
get
{
if ( HttpContext.Current.Session["ErrorMessage"] != null )
{
return HttpContext.Current.Session["ErrorMessage"].ToString();
}
else
return string.Empty;
}
} /// <summary>
/// 登录的用户名信息
/// </summary>
public static string UserName
{
set
{
HttpContext.Current.Session["UserName"] = value;
}
get
{
if (HttpContext.Current.Session["UserName"] != null)
{
return HttpContext.Current.Session["UserName"].ToString();
}
else
return string.Empty;
}
} /// <summary>
/// 用户登录名称
/// </summary>
public static string UserLoginName
{
set
{
HttpContext.Current.Session["UserLoginName"] = value;
}
get
{
if ( HttpContext.Current.Session["UserLoginName"] != null )
{
return HttpContext.Current.Session["UserLoginName"].ToString();
}
else
return string.Empty;
}
} /// <summary>
/// 登录的用户名ID信息
/// </summary>
public static string UserID
{
set
{
HttpContext.Current.Session["UserID"] = value;
}
get
{
if (HttpContext.Current.Session["UserID"] != null)
{
return HttpContext.Current.Session["UserID"].ToString();
}
else
return string.Empty;
}
} /// <summary>
/// 登录的用户名ID信息
/// </summary>
public static string curReceveSendState
{
set
{
HttpContext.Current.Session["curReceveSendState"] = value;
}
get
{
if (HttpContext.Current.Session["curReceveSendState"] != null)
{
return HttpContext.Current.Session["curReceveSendState"].ToString();
}
else
return string.Empty;
}
}}
给KEOAWebSession.属性赋值
然后调用时 KEOAWebSession.属性 就可以了
你试试这个方法行不
我很郁闷!!
ddlPlant.Text 输入什么,SDBPlants 这个 key 的值就是什么啊。
1,Session设置是否是InProc模式
2,InProc模式与iis6中该网站使用的应用程序池中Web园数目的设置有关(设置为1 )
3,在测试时是否有应用程序重起的问题,如更新了web.config,病毒扫描,修改global等。
4,
在global.asax里写,尽管实际没有任何作用
protected void Session_Start(Object sender, EventArgs e)
{
Session["foo"] = "foo";
}
5,如果还不行,将你的出文件文件挑出来,建立一个测试工程让大家下载试验,以便检查现象和察看代码是否有误 (去掉与数据库有关的任何操作)