asp.net中session参数问题

问题描述

asp.net中session参数问题

修改密码网页的load代码如下:

 if(Session["userName"]==null)
{
Response.Write("已经超时!");Response.End();
}
        pswModify1.tableName = "管理员";
        pswModify1.userName = Session["userName"].ToString();
        Session.Remove("userName");

判断session不为空,出现了脚本错误,如下图:
登陆界面相关代码如下:(不知道session定义变量的位置对不对)

  case "管理员":
                {
                    string strSelect = "select count(*)from 管理员 where 用户名='" + strUserName + "'and 密码='" + strPassword + "'";
                    System.Data.SqlClient.SqlCommand selectCom = new System.Data.SqlClient.SqlCommand(strSelect, conn);
                    int count = int.Parse(selectCom.ExecuteScalar().ToString());
                    conn.Close();
                    if (count > 0)
                    {
                        Session["userName"] = txtUserName.Text;
                        Response.Redirect("welcomemanager.aspx");
                    }
                    else
                    {
                        Label1.Text = "用户名或密码输入错误!";
                    }
                }

不知道问题出现在那里,有劳解答,谢谢你。

解决方案

Session这种会过期为空的对象要先判断是否为空才能引用

 if(Session["userName"]==null)
{
Response.Write("已经超时!");Response.End();
}

       pswModify1.tableName = "管理员";
        pswModify1.userName = Session["userName"].ToString();
        Session.Remove("userName");

解决方案二:

关于session_end的执行测试,解决困惑 很惭愧这个问题困惑了我2天时间, 查阅无数文章,最后经过测试发现,这些文章并没有说到重点
包括csdn里很多程序员也没有搞清楚怎么回事,其实seesion_end方法不执行的原因很简单.
有三点吧,第一是config.sys设置问题,在system.web节点下添加
<sessionState mode="InProc&quo......
答案就在这里:ASP.NET中Session的问题

时间: 2024-10-16 05:21:05

asp.net中session参数问题的相关文章

ASP.NET中Session和Cache的区别总结

  这篇文章主要介绍了ASP.NET中Session和Cache的区别总结,本文结合使用经验,总结出了5点Session缓存和Cache缓存的区别,需要的朋友可以参考下 以前实现数据的缓存有很多种方法,有客户端的Cookie,有服务器端的Session和Application.其中Cookie是保存在客户端的一组数据,主要用来保存用户名等个人信息.Session则保存对话信息.Application则是保存在整个应用程序范围内的信息,相当于全局变量.通常使用最频繁的是Session,那么Sess

详解ASP.NET中Session的用法_实用技巧

      当用户在应用程序的页之间跳转时,存储在 Session 对象中的变量不会清除,而用户在应用程序中访问页面时,这些变量始终存在.当用户请求来自应用程序的 Web 页时,如果该用户还没有会话,则 Web 服务器将自动创建一个 Session 对象.当会话过期或被放弃后,服务器将终止该会话.        通过向客户程序发送唯一的 Cookie 可以管理服务器上的 Session 对象.当用户第一次请求 ASP 应用程序中的某个页面时,ASP 要检查 HTTP 头信息,查看是否有在报文中有

ASP.NET中Session的状态保持方式浅议

asp.net|session ASP.NET提供了Session对象,从而允许程序员识别.存储和处理同一个浏览器对象对服务器上某个特定网络应用程序的若干次请求的上下文信息.Session对应浏览器与服务器的同一次对话,在浏览器第一请求网络应用程序的某个页面时,服务器会触发Session_onStart事件;在对话超时或者被关闭的时候会触发Session_onEnd 事件.程序员可以在代码中响应这两个事件来处理与同一次对话相关的任务,如开辟和释放该次对话要使用的资源等. 在ASP.NET的程序中

浅议ASP.NET中Session的状态保持方式

asp.net|session ASP.net提供了Session对象,从而允许程序员识别.存储和处理同一个浏览器对象对服务器上某个特定网络应用程序的若干次请求的上下文信息.Session对应浏览器与服务器的同一次对话,在浏览器第一请求网络应用程序的某个页面时,服务器会触发Session_onStart事件;在对话超时或者被关闭的时候会触发Session_onEnd 事件.程序员可以在代码中响应这两个事件来处理与同一次对话相关的任务,如开辟和释放该次对话要使用的资源等. 在ASP.NET的程序中

ASP.NET中Session的状态保持方式

asp.net|session ASP.NET提供了Session对象,从而允许程序员识别.存储和处理同一个浏览器对象对服务器上某个特定网络应用程序的若干次请求的上下文信息.Session对应浏览器与服务器的同一次对话,在浏览器第一请求网络应用程序的某个页面时,服务器会触发Session_onStart事件:在对话超时或者被关闭的时候会触发Session_onEnd 事件.程序员可以在代码中响应这两个事件来处理与同一次对话相关的任务,如开辟和释放该次对话要使用的资源等.    在ASP.NET的

ASP.NET中Session状态保持方式浅议

ASP.net提供了Session对象,从而允许程序员识别.存储和处理同一个浏览器对象对服务器上某个特定网络应用程序的若干次请求的上下文信息.Session对应浏览器与服务器的同一次对话,在浏览器第一请求网络应用程序的某个页面时,服务器会触发Session_onStart事件;在对话超时或者被关闭的时候会触发Session_onEnd 事件.程序员可以在代码中响应这两个事件来处理与同一次对话相关的任务,如开辟和释放该次对话要使用的资源等. 在ASP.NET的程序中要使用Session对象时,必须

asp.net中session会话状态详解

Session又称为会话状态,是Web系统中最常用的状态,用于维护和当前浏览器实例相关的一些信息.举个例子来说,我们可以把已登录用户的用户名放在Session中,这样就能通过判断Session中的某个Key来判断用户是否登录,如果登录的话用户名又是多少. 我们知 道,Session对于每一个客户端(或者说浏览器实例)是"人手一份",用户首次与Web服务器建立连接的时候,服务器会给用户分发一个 SessionID作为标识.SessionID是一个由24个字符组成的随机字符串.用户每次提交

ASP.NET中session存储模式运用

在ASP.NET中的Session存储方式不象asp那样单一,一共提供了三种存储方式,由于最近一个2000多人使用的web软件出现了故障,用户每天早上在某一时刻出现难以登陆现象,接着Session丢值出现,只有重启IIS,或机器.这时程序恢复正常了.整天都不会出现同样的问题 ,但是第二天依旧!这种现象持续了好几天,我检查了一下日志文件,高峰每秒访问人数大概20人左右,同时大概100多人在线,以后访问人数还会增加,为了解决这个怪问题,先从软件着手,故而三种方式都应用了一番. 打开web.confi

ASP.NET 中 Session 实现原理浅析 [2] 状态管理器

asp.net|session 状态管理本来是一件很美好的事情,嘿嘿,只可惜总是有些厂商在实现的时候考虑得不那么周全.例如 MS 在 ASP 中的状态管理实现就比较烂,因为只实现了一个进程内的基于内存的状态管理,故而存在很多问题: 1.所有的 Session 数据都保存在 Web 服务的进程中,会造成服务器支持会话数量受到服务器内存资源的限制问题,同时也因为大量非活动会话导致内存被无效占用. 2.服务器进程崩溃会导致所有的会话数据丢失. 3.会话无法跨进程或在负载均衡情况下使用,除非负载均衡技术