日期:2014-05-18  浏览次数:20509 次

session 累死 iis
请教:
  我在做一个网上购物商城时遇到一个奇怪的问题:当我在登录页面用session保存用户登录ID后, redirect到另外的一个页面,再持续跳转几个页面后对session进行调用判断它是否存在并取它的值的时候,页面N慢,等待的结果是:Service Unavailable,当重启IIS后,问题就这样循环着!!
  谢谢各位指点!!

------解决方案--------------------
Session存的东西大吗?

不应该被session累死吧.你的服务器也没这么差

看一下你的程序.不一定是Session在做怪
------解决方案--------------------
这不一定是 session 累死 iis 吧?
------解决方案--------------------
探讨
这不一定是 session 累死 iis 吧?

------解决方案--------------------
用session就是存放了一个整型数据

那不如把它存放在表的一个字段里吧。。
操作的时候注意及时关闭conn

就不会累死IIS了。
------解决方案--------------------
估计不是你的session的问题啊
整个的跟一次吧
------解决方案--------------------
[Quote=引用:]
估计不是你的session的问题啊 
整个的跟一次吧

------解决方案--------------------
引用楼主 somethingblue 的帖子:
请教:
我在做一个网上购物商城时遇到一个奇怪的问题:当我在登录页面用session保存用户登录ID后, redirect到另外的一个页面,再持续跳转几个页面后对session进行调用判断它是否存在并取它的值的时候,页面N慢,等待的结果是:Service Unavailable,当重启IIS后,问题就这样循环着!!
谢谢各位指点!!

------解决方案--------------------
是不是页面转来转去死循环了
------解决方案--------------------
不太可能是由于SESSION引走的.
------解决方案--------------------
这里指,当登录成功,则记住用户ID
if (dal.UserLogin(name ,psw)) 

Session.Clear(); 
Session.Timeout = 120;
Session["UserID"] = dal.GetUserIDByUserName(name); 
Session["UserName"] = name; 
Response.Write(Session["UserID"].ToString ()); 
Response.Redirect("Default.aspx"); 

下面是调用Session,每当执行到这里的时候就出错,页面呈现"Service Unavailable" 
if (Session["UserID"] == null|| Convert.ToInt32(Session["UserID"]) == 0)

Response .Write (Convert .ToInt32(Session["UserID"])); 


请大家帮忙看看,谢谢哈....

其实你这里可以不这么写的! 首先你把所有要保存的东西 写成一个实体类! 然后把要保存的东西全部放在 类里 最后把类 保存在session里面... 这样会比你单个保存的效果要好些!
------解决方案--------------------
下面的话改下 不知道你写这个什么意思,会出错的,当session为空的时候怎么能转换呢?
if (Session["UserID"] == null|| Convert.ToInt32(Session["UserID"]) == 0)
{
Response .Write (Convert .ToInt32(Session["UserID"]));

if(Session["UserID"]!=null)
{
Response.Write(Convert.ToInt32("Session["UserID"]);
}