宝哥软件园

asp.net中会议的原理及应用详解

编辑:宝哥软件园 来源:互联网 时间:2021-10-07

会议简介丶特性- 1.会议是一种网会话中的常用状态之一。 2.会议提供了一种把信息保存在服务器内存中的方式。他能储存任何数据类型,包含自定义对象。 3.每个客户端的见是独立存储的。 4.在整个会话过程中,只要SessionID的甜饼干不丢失,都会保存会议信息的。 5.会议不能跨进程访问,只能由该会话的用户访问。应为提取会议数据的编号标识是以饼干的方式保存到访问者浏览器的缓存里的。 6.当会话终止,或过期时,服务器就清除会议对象。 7.会议常用于保存登录用户的身份证。8.会议保存的数据是跨页面全局型的-会议的使用-这里我写入一个例子,便于下面阐述。复制代码代码如下: head runat=' server ' title/title script src=' http : scripts/jquery-1。4 .1 .量滴js ' type=' text/JavaScript '/script script type=' text/JavaScript '函数getSessionClick(action){//这个函数是为了知道哪一个提交按钮被点击$('#hidlgc ').val(" ");//清空隐藏值$('#hidlgc ').val(动作);//给隐藏控件赋值}/script/head正文表单id=' form 1 '方法=' post '操作=' my session。aspx '表tr TD账号:/TDT输入类型=' text '名称=' TxTUID '/TD `/tr TD密码:/TDT输入类型=' password ' name=' TxTPWd '/TD/tr TD col span=' 2 '输入类型=' hidden ' value=' id=' hidlgc ' name=' hidlgclick '/input onclick=' getSessionClick '(LG click ')' type=' submit ' value='登录/input type=' submit ' onclick=' GetSessionclick(' GetSession ')' 值='获取会话'/输入类型=' submit ' onclick=' getSessionClick(' backLg ')' value='退出登录//td /tr /table /form /body复制代码代码如下:受保护的无效页面_加载(对象发送方,EventArgs e) { //把用户编号写入会议中如果(请求。表单[' hidlgclick ']==' lgclick '){ if(Request .表单['txtUid']. ToString()==' admin '请求。表单[' txtUid '].ToString()=='admin') //判断用户登录{会话['用户名']=请求。表单['txtUid'].ToString();//把用户编号保存到会议中回应。写入(会话['用户名'])。'' ToString() ' -点击登录');//获取会话,并写入页面} } //获取会话如果(请求。表单[' hidlgclick ']==' getSession '){ if(Session[' userName ']!=null){ 0响应。写入(会话['用户名'])。' ToString() ' -点击获取会话');//获取会话,并写入页面} } //取消当前会话,相当于注销(退出登录)。如果(请求。表单[' hidlgclick ']==' backLg '){ Session .放弃();} } 复制代码代码如下: system.web sessionState超时='40'/sessionState!-设置会议的过期时间,时间以分钟为单位-

会话原理(根据上面的例子)-。1.服务器端有一个Session池,用于存储会话中每个用户提交的数据。会话是“每个客户端(或浏览器实例)一个副本”。当用户第一次与Web服务器建立连接时,服务器将向用户分发一个SessionID作为标识符。SessionID是由24个字符组成的随机字符串。每次用户提交页面时,浏览器都会将这个SessionID包含在HTTP头中,提交给Web服务器,这样Web服务器就可以区分当前是哪个客户端在请求页面,这个SessionID以cookie的方式存储在客户端的内存中。如果想要获取Session池中的数据,服务器会根据客户端提交的唯一SessionID标识符将相应的数据给回。2.输入正确的账号密码,点击登录,页面会输出“管理员-点击登录”。2.每个客户端的数据如何存储在会话池中?1.存储在Session池中的数据是全局数据,可以跨页面访问。每个SessionID中只存储唯一的数据,例如:首先,您设置session['userName']='admin ',然后在session尚未过期时设置session[' userName ']=' 123 ';这样,会话ID保持不变,但会话池中的数据将被覆盖。此时,会话['userName']的值是“123”,而不是其他值。2.2中的数据。无法跨进程访问会话池。例如,打开login.aspx页面并写入会话[" username "]=' admin ';那么登录页面不会关闭,也就是说,这个会话不会结束。这里,如果你在另一个浏览器中打开另一个login.aspx页面,那么session['userName']=null 3。输入账号密码,点击登录页面,输出“管理员点击登录”。如果您单击“获取会话”按钮,页面将只输出“管理-单击获取会话”。如果页面没有关闭,它将只输出“管理-点击获取会话”。宣告循环并销毁三个1 .会话1。会话存储数据的计时是一种滚动计时方法。具体来说,如果打开写会话,从开始写起,如果页面还没有提交,默认时间是20分钟。20分钟后,会话将被服务器自动销毁。如果有提交,服务器会在提交后重新计时,以此类推,直到它在设定的时间内被销毁。2.您可以设置会话的销毁时间。上面的代码中提到了。存储在四个会话中的数据都在服务器端,每个用户在登录时都必须写入会话数据。因此,建议谨慎使用会话,即少用。

更多资讯
游戏推荐
更多+