ASP 中 session 的用法!
当一个用户提交了表单时,浏览器会将用户的SessionID自动附加在HTTP头信息中,(这是 浏览器的自动功能,用户不会察觉到),当服务器处理完这个表单后,将结果返回给SessionID所对应的用户。试想,如果没有SessionID,当有 两个用户同时进行注册时,服务器怎样才能知道到底是哪个用户提交了哪个表单呢。当然,SessionID还有很多其他的作用,我们会在后面提及到。除了SessionID,在每个Session中还包含很多其他信息。但是对于编写ASP或ASP.NET的程序与来说,最有用的还是可以通过访问 ASP/ASP.NET的内置Session对象,为每个用户存储各自的信息。扩展资料:Session状态使用范围的局限性:刚一个用户从一个网站访问到另外一个网站时,这些Session信息并不会随之迁移过去。Cookie的依赖性:实际上客户端的Session信息是存储与Cookie中的,如果客户端完全禁用掉了Cookie功能,他也就不能享受到了Session提供的功能了。鉴于ASP Session的以上缺陷,微软的设计者们在设计开发 ASP.NET Session时进行了相应的改进,完全克服了以上缺陷,使得ASP.NET Session成为了一个更加强大的功能。
[create_time]2020-04-04 10:55:01[/create_time]2009-07-03 16:38:14[finished_time]6[reply_count]1[alue_good]休闲娱乐达人天际[uname]https://pic.rmb.bdstatic.com/bjh/17f6919036d1afbd08fd35269a27fa805893.jpeg[avatar]致力于休闲娱乐知识的解答,分享娱乐知识。[slogan]致力于休闲娱乐知识的解答,分享娱乐知识。[intro]14454[view_count]Asp.Net中Session怎么用
Session即会话,是指一个用户在一段时间内对某一个站点的一次访问。 Session对象在.NET中对应HttpSessionState类,表示“会话状态”,可以保存与当前用户会话相关的信息。 Session对象用于存储从一个用户开始访问某个特定的aspx的页面起,到用户离开为止,特定的用户会话所需要的信息。用户在应用程序的页面切换时,Session对象的变量不会被清除。 对于一个Web应用程序而言,所有用户访问到的Application对象的内容是完全一样的;而不同用户会话访问到的Session对象的内容则各不相同。 Session可以保存变量,该变量只能供一个用户使用,也就是说,每一个网页浏览者都有自己的Session对象变量,即Session对象具有唯一性。 (1)将新的项添加到会话状态中 语法格式为: Session ("键名") = 值 或者 Session.Add( "键名" , 值) (2)按名称获取会话状态中的值 语法格式为: 变量 = Session ("键名") 或者 变量 = Session.Item("键名") (3)删除会话状态集合中的项 语法格式为: Session.Remove("键名") (4)清除会话状态中的所有值 语法格式为: Session.RemoveAll() 或者 Session.Clear() (5)取消当前会话 语法格式为: Session.Abandon() (6)设置会话状态的超时期限,以分钟为单位。 语法格式为: Session.TimeOut = 数值 Global.asax 文件中有2个事件应用于Session对象 事件名称 说明 Session_Start 在会话启动时激发 Session_End 在会话结束时激发
[create_time]2013-12-07 11:26:07[/create_time]2013-12-19 21:41:19[finished_time]1[reply_count]1[alue_good]匿名用户[uname]https://iknow-base.cdn.bcebos.com/yt/bdsp/icon/anonymous.png?x-bce-process=image/quality,q_80[avatar][slogan]这个人很懒,什么都没留下![intro]1181[view_count]
简述ASP的Application对象和Session对象的异同点。
Application对象和Session对象都是用来记录网站信息的,但前者是记录网站公共信息的,后者则是记录每个客户端(浏览器)的个性化信息的。
打个比方:Application就像是教室里的黑板,上面记录的信息是全班同学都能看到的,如果老师或任何一个同学修改了黑板上的内容,其他同学也能立刻看到变化的结果;而Session则是每个同学的课堂笔记本,上面的内容只有每个同学自己能看到,你即使把自己的笔记本撕掉、吃掉,对其他同学的笔记本都不会造成任何影响的。
补充说明:上述回答非标准答案,本人是纯自学者,从没看过这方面的教材,是我从工作实践中得出的经验。如果你是要参加考试,需要所谓的标准答案,那我建议你还是去看书吧。
[create_time]2014-10-16 17:22:43[/create_time]2014-10-31 16:56:11[finished_time]1[reply_count]3[alue_good]网海1书生[uname]https://iknow-pic.cdn.bcebos.com/359b033b5bb5c9ea00ea049dc539b6003af3b3b6?x-bce-process=image/resize,m_lfit,w_450,h_600,limit_1[avatar]擅长软件设计、WEB应用开发、小程序[slogan]擅长软件设计、WEB应用开发、小程序[intro]587[view_count]
在基于ASP的聊天系统中application对象和session对象的用途各是什么?
ASP程序是由虚拟目录以及子目录下所有.asp文件组成。Application对象在程序的所有用户共享信息,可以在服务器运行期间长久保存数据。
Application对象方法:
1.lock方法 用于锁定Application对象,禁止别人修改Application对象的属性。Lock方法确保同一段时间仅有一个用户在对Application对象进行操作。
2. Unlock方法 和lock方法相反,用来解除锁定,允许修改Application对象的属性。当锁定对象后,可以用Unlock对象来解除锁定。假如用户没有明确调用Unlock的方法,则服务器会在.asp文件结束或者超时会自动解除Application对象的锁定。才能保证数据的一致性和完整性。
session对象用于存储特定的用户会话所需的信息 。 Session对象的引入是为了弥补HTTP协议的不足,HTTP协议是一种无状态的协议。
Session中文是“会话”的意思,在ASP中代表了服务器与客户端之间的“会话”。Session的作用时间从用户到达某个特定的Web页开始,到该用户离开Web站点,或在程序中利用代码终止某个Session结束。引用Session 则可以让一个用户访问多个页面之间的切换也会保留该用户的信息。
系统为每个访问者都设立一个独立的Session对象,用以存储Session变量,并且各个访问者的Session对象互不干扰。
Session与Cookie是紧密相关的。 Session的使用要求用户浏览器必须支持Cookie,如果浏览器不支持使用Cookie,或者设置为禁用Cookie,那么将不能使用Session。
Session信息对客户来说,不同的用户用不同的Session信息来记录。当用户启用Session时,ASP自动产生一个SessionID.在新会话开始时,服务器将SessionID当做cookie存储在用户的浏览器中。
session语法:
session.集合∣属性∣方法
举例:
学好session加油
<%
session("greeting")="ASP“
Response.write(session("greeting"))
%>
Session对象的集合、属性、方法、事件名 称 描 述
Contents集合 包含所有通过脚本命令添加到应用程序中的数据项
SessionID属性 用来表识每一个Session对象
TimeOut属性 用来设置Session会话的超时时间(以分钟表示)
Abandon方法 强行删除当前会话的Session对象,释放系统资源
Session_OnStart事件 建立Session对象时所激发的事件
Session_OnEnd事件 结束Session对象时所激发的事件
StaticObjects集合 包含所有通过标记添加到应用程序中的对象
[create_time]2013-09-04 11:28:40[/create_time]2013-09-17 18:51:28[finished_time]4[reply_count]0[alue_good]匿名用户[uname]https://iknow-base.cdn.bcebos.com/yt/bdsp/icon/anonymous.png?x-bce-process=image/quality,q_80[avatar][slogan]这个人很懒,什么都没留下![intro]261[view_count]
asp cookies用法与cookies实例教程
如何创建一个Cookie? 为了创建一个Cookie 您需要使用Response Cookies命令 在下面的例子中 我们将创建一个名为“姓氏” 并指定值“someValue” 它的cookie 该Response Cookies命令必须出现在标记 否则你需要放在网页顶部以下行 也可以分配一个Cookie属性 比如设置一个日期时 在Cookie到期 下面的例子创建了一个cookie 将在 天届满的 如果你想在Cookie过期尽快离开你的访客 您必须设定值为 的Expires属性 下一个重要属性是域属性 这个cookie只能读取域它源于 这是默认设置为其所在创建域 但您可以根据需要改变它 在有一个例子 另外两个重要的属性是路径和安全性能 Path属性指定的域 可以使用的cookie确切的路径 如果安全属性被设置 那么cookie将只能设置浏览器是否使用安全套接字或教程 / /连接 但并不意味着该Cookie是安全的 它只是一个像所有其他的Cookie的文本文件 在有一个例子 <% Response Cookies("lastname") Path = "/cookies/" Response Cookies("lastname") Secure = True %> 如何检索Cookie的值? 现在的Cookie设置 我们需要检索信息 为了获取cookie的值 需要使用Request Cookies命令 在下面的例子 我们检索名为“姓氏” 并打印出其价值的cookie值 输出将是“Cookie” 使用Cookie字典 除了存储简单值 在Cookies集合cookie可以代表一个cookie字典 字典是一个构造类似于在这数组中的每个元素是由它的名字识别组成的数组 基本上 饼干字典只是一个Cookie 它可以容纳几个值 这些值被称为键 这为您提供了一个cookie存储在您的所有必要的信息选项 例如 假设你要收集用户的姓名 存放在一个cookie他们 在下面的例子 我们将创建一个名为“用户” 将包含这些信息的Cookie 当你需要引用在与键的cookie的值 您必须使用键值 在有一个例子 现在让我们假设我们要读取的所有您的服务器发送到用户的计算机上的Cookie 为了检查是否有一个cookie的键或不 您必须使用特定的cookie HasKeys财产 下面的示例演示如何做到这一点 <% The code below iterates through the Cookies collection If a given cookie represents a cookie dictionary then a second internal for each construct iterates through it retrieving the value of each cookieKey in the dictionary Dim cookie Dim cookieKey for each cookie in Request Cookies if Request Cookies(cookie) HasKeys Then lishixinzhi/Article/program/net/201311/14332
[create_time]2022-11-09 08:10:09[/create_time]2022-11-18 03:41:09[finished_time]1[reply_count]0[alue_good]舒适还明净的海鸥i[uname]https://himg.bdimg.com/sys/portrait/item/wise.1.47c7c989.PNHyyviQpkbkWYf_U9mbzQ.jpg?time=670&tieba_portrait_time=670[avatar]TA获得超过1.3万个赞[slogan]这个人很懒,什么都没留下![intro]10[view_count]
4. ASP中APPlication.Cookie和Session对象的特点
Cookie:Cookie 提供了一种在 Web 应用程序中存储客户端用户信息的方法。例如,当用户访问您的网站时,你可以使用Cookie 存储用户首选项或其他信息。当该用户再次访问您的网站时。就可以检索以前存储的信息。但很多浏览器对Cookie有4096字节的限制。
Cookie的关键特性有:存储于客户端硬盘上,与用户相关,在一定时间内持久化存储,可以跨浏览器共享数据,需要被序列化,发生服务器-客户端数据传输。(书上找的)
Session:为当前用户会话提供信息。还提供对可用于存储信息的会话范围的缓存的访问,以及控制如何管理会话的方法。应用程序状态是可供 ASP.NET 应用程序中的所有类使用的数据储存库。它存储在服务器的内存中,因此与在数据库中存储和检索信息相比,它的执行速度更快。与不特定于单个用户会话的应用程序状态不同,会话状态应用于单个的用户和会话。因此,应用程序状态非常适合存储那些数量少、随用户的变化而变化的常用数据。而且由于其不发生服务器-客户端数据传输,Session还适合存储关于用户的安全数据,如购物车信息。
Session的关键特性有:存储于服务器内存中,与会话相关,在会话的整个生存期中存在即不会被主动丢弃,不被序列化,不发生服务器-客户端数据传输。
[create_time]2011-11-30 12:36:13[/create_time]2011-12-10 03:31:56[finished_time]1[reply_count]0[alue_good]七连小帅[uname]https://himg.bdimg.com/sys/portrait/item/wise.1.f7e3562.u6KteZJ2RVCCcQgjCi6IgA.jpg?time=2942&tieba_portrait_time=2942[avatar]TA获得超过346个赞[slogan]这个人很懒,什么都没留下![intro]157[view_count]
ASP 中 session 的用法!
当一个用户提交了表单时,浏览器会将用户的SessionID自动附加在HTTP头信息中,(这是 浏览器的自动功能,用户不会察觉到),当服务器处理完这个表单后,将结果返回给SessionID所对应的用户。试想,如果没有SessionID,当有 两个用户同时进行注册时,服务器怎样才能知道到底是哪个用户提交了哪个表单呢。当然,SessionID还有很多其他的作用,我们会在后面提及到。除了SessionID,在每个Session中还包含很多其他信息。但是对于编写ASP或ASP.NET的程序与来说,最有用的还是可以通过访问 ASP/ASP.NET的内置Session对象,为每个用户存储各自的信息。扩展资料:Session状态使用范围的局限性:刚一个用户从一个网站访问到另外一个网站时,这些Session信息并不会随之迁移过去。Cookie的依赖性:实际上客户端的Session信息是存储与Cookie中的,如果客户端完全禁用掉了Cookie功能,他也就不能享受到了Session提供的功能了。鉴于ASP Session的以上缺陷,微软的设计者们在设计开发 ASP.NET Session时进行了相应的改进,完全克服了以上缺陷,使得ASP.NET Session成为了一个更加强大的功能。
[create_time]2022-09-28 18:54:25[/create_time]2022-10-13 18:54:25[finished_time]1[reply_count]0[alue_good]惠企百科[uname]https://pic.rmb.bdstatic.com/bjh/user/343825d09bee196abf9cec8955c23e80.jpeg[avatar]百度认证:北京惠企网络技术有限公司官方账号[slogan]惠企百科网是一家科普类综合网站,关注热门中文知识,集聚互联网精华中文知识,本着自由开放、分享价值的基本原则,向广大网友提供专业的中文知识平台。[intro]46[view_count]php的session 有什么用
session是什么,刚开始我也不明白,非专业词典翻译为会议,会议期。直到接触asp后才知道session是干什么的,有什么用。
作个不太恰当的比喻吧(虽然不恰当,但意义却是一样的),session就好象你和你女友(或妻子)之间的感情似的,session是你和网站之间的感情。
session在WEB技术中占有非常重要的份量。由于网页是一种无状态的连接程序,因此你无法得知用户的浏览状态。因此我们必须
通过session记录用户的有关信息,以供用户再次以此身份对web服务器提供要求时作确认,例如,我们在某些网站中常常要求用户登录,
但我们怎么知道用户已经登录了呢,如果没有session的话,登录信息是无法保留的,那岂不要让用户在每一页网页中都要提供
用户名和密码。
当然,session不光用于用户身份认证功能,还可能用于其它方面,以后我们会提到的。
session用中文来解释就是会话期。一个会话期开始于用户输入一个站点的网址时,结束于他离开这个站点时。
session最早出现在动态脚本语言Active Server Pages中,它的功能之强大,是一句话无法说清楚的。
当php还在3.0版本时,session是它永远的痛。虽然php具有执行速度快,使用灵活,功能强大等优点,但因为session的问题,使很多站点的开发放弃了php,至少我的老板是这样认为的。当时有很多php免费函数库提供在php3上实现session的方案,但都让人感觉不正宗。
就好象你花好几千大洋买的手机却配置一个很粗糙的草作的袋子一样,虽然功能是一样的,但总让人觉得别扭。php4的出现让php在session问题上
有了翻身的机会。虽然它的session实现还不是很理想(主要是效率问题),但毕竟是它自己实现的,而且可以实际使用了。
那我们用session干什么呢,你说了半天,我用不上的话,你岂不有卖纸张之嫌。OK,我们来看看session有什么用:作过网站的人都有这样的体会,在一页页面中的变量(在本章都指服务器端变量,下同)是不能在下一页中用的,虽然有一些办法可以实现,比如用form,urlstring等等
但有些对于用户来说是不方便的,即使让form自动提交,但其中的延时在现今的网络状况下足以让人窒息,而这两种方法都明显加大程序员的负担。如果你正在开发一个大型项目,那这些额外的负担是不能忽略的。而有了session就好办了,session中注册的变量可以作为全局变量使用。什么,全局变量?
好极了。这样一来,你知道有什么用了吧:最主要的用于用户身份认证,程序状态记录,页面之间参数传递。
说了它这么半天的好处,你已经动心了吧,先别高兴,它还有缺点呢:它是用文件保存的变量(当然效率不高了,虽然可以用别的方式,但
很麻烦的),不能保存对象。与之相对的是,asp中的session可以保存对象变量,用内存变量来保存session变量。但为什么我们还选用php呢,呵呵,
为什么,你能从本书的开始看到这章,想必你也应该明白了吧,你还不明白,Faint,你再从头看起吧,我保证你成为PHP专家^_^。
session是怎样实现的呢?呵呵,你一定以为很高深吧,我来告诉你它的秘密。如果说只保存变量的话,很多读者都明白,这是很简单的,
但前面我们说过,http协议是一种无状态的连接,你怎么知道那个变量是谁的,这个变量又是谁的呢?在session实现中用cookie实现的。cookie
存在于客户端,也就是用户的机器中,里面保存着用户的session ID,也就是session号码,当用户的浏览器请求服务器时把session ID也一起送到
服务器,这样服务器就可以识别你是谁,也就可以把变量识别开了。这样我们就不难理解了,为什么有时session会失效了。不信的话,你可以试试:
在IE的"工具"菜单上有"Internet选项"菜单,打开后再选"安全"->"自定义级别",将安全设置中的"允许使用每个对话cookies"设为禁用,再看看
session能不能用。这下明白了吧!不过php4在linux/unix平台上可以自动检查cookies状态,当cookies 不可用时,自动会把session ID
附带在url上进行传递。这是它在session方面比asp多的唯一的优点了。
[create_time]2016-02-21 17:04:09[/create_time]2016-02-21 20:43:59[finished_time]1[reply_count]0[alue_good]逆长小白菜[uname]https://himg.bdimg.com/sys/portrait/item/wise.1.24b5e402.1p-QGoGIOD4Fc8aa3MgecQ.jpg?time=5957&tieba_portrait_time=5957[avatar]TA获得超过2万个赞[slogan]这个人很懒,什么都没留下![intro]54[view_count]
ASP.NET中Session的状态保持方式
ASP.NET提供了Session对象,从而允许程序员识别、存储和处理同一个浏览器对象对服务器上某个特定网络应用程序的若干次请求的上下文信息。Session对应浏览器与服务器的同一次对话,在浏览器第一请求网络应用程序的某个页面时,服务器会触发Session_onStart事件;在对话超时或者被关闭的时候会触发Session_onEnd
事件。程序员可以在代码中响应这两个事件来处理与同一次对话相关的任务,如开辟和释放该次对话要使用的资源等。
在ASP.NET的程序中要使用Session对象时,必须确保页面的@page指令中EnableSessionState属性是True或者Readonly,并且在web.config文件中正确的设置了SessionState属性。
ASP.NET中Session的状态保持是由web.config文件中的标记下的标记的mode属性来决定的。该属性有四种可能的值:Off、Inproc、StateServer和SQlServer.
设为Off会禁用Session.
Inproc是缺省的设置,这种模式和以前的ASP的会话状态的方法是类似的,会话的状态会被保存在ASP.NET进程中,它的优点是显而易见的:性能。进程内的数据访问自然会比夸进程的访问快。然而,这种方法Session的状态依赖于ASP.NET进程,当IIS进程崩溃或者正常重起启时,保存在进程中的状态将丢失。
为了克服Inproc模式的缺点,ASP.NET提供了两种进程外保持会话状态的方法。
ASP.NET首先提供了提供了一个Windows服务:ASPState,这个服务启动后,ASP.NET应用程序可以将mode属性设置为“SateServer”,来使用这个Windows服务提供的状态管理方法。
除了在web.config文件中设置mode属性为StateServer外,还必须设置运行StateServer服务器的IP地址和端口号.如果在IIS所在的机器运行StateServer则IP地址就是127.0.0.1,端口号通常是42424.配置如下:
mode=”StateServer”
stateConnectionString="tcpip=127.0.0.1:42424"
使用这种模式,会话状态的存储将不依赖IIS进程的失败或者重启,会话的状态将存储在StateServer进程的内存空间中。
另一种会话状态模式是SQLServer模式。这种模式是将会话的状态保存在SQL
Server数据库中的。使用这种模式前,必须至少有一台SQL
Server服务器,并在服务器中建立需要的表和存储过程。.NET
SDK提供了两个脚本来简化这个工作:InstallSqlState.sql和UnInstallSqlState.sql。这两国文件存放在下面路径中:
WinntMicrosoft.NETFramework
要配置SQL
Server
服务器,可以在命令行中运行SQL
Server提供的命令行工具osql.exe
osql
-s
[server
name]
-u
[user]
-p
[password]
例如:
osql
-s
(local)
-u
as
-p
“”-i
InstallSqlState.sql
做好必要的数据库准备工作后,将web.config文件中的sessionstate元素的mode属性改为”sqlserver”,并指定SQL连接字符串。具体如下:
mode="SQLServer"
sqlConnectionString="data
source=127.0.0.1;userid=sa;password=;Trusted_Connection=yes"
使用SQLServer模式处了可以使Session的状态不依赖于IIS服务器之外,还可以利用SQL
Server的集群,使状态存储不依赖于单个的SQL
Server,这样就可以为应用程序提供极大的可靠性。
[create_time]2020-05-10 14:38:47[/create_time]2018-08-31 21:17:58[finished_time]1[reply_count]0[alue_good]衅洲友水竹[uname]https://himg.bdimg.com/sys/portrait/item/wise.1.bb63cb09.ADY88US_ioRGc0IDQ3g1kw.jpg?time=10705&tieba_portrait_time=10705[avatar]TA获得超过3584个赞[slogan]这个人很懒,什么都没留下![intro]18[view_count]
ASP如何设置session过期时间
1是默认的,不用设置
session.timeout=60 ‘60分钟
后面的数字是指分钟数楼主可以自己计算
随便说下,3-5最好弄成COOKIES,我想除了服务器,普通用户不可能一个星期不关一次机。
另外SESSION过期时间长短并不是程序一方面决定的,以服务器的IIS的设置最长时间为准,默认就是20分钟。
[create_time]2010-06-26 17:02:51[/create_time]2010-06-29 19:57:43[finished_time]6[reply_count]2[alue_good]loveid[uname]https://himg.bdimg.com/sys/portrait/item/wise.1.383ce8a4.-qE0afOW5J-KFlmD91kn-w.jpg?time=2809&tieba_portrait_time=2809[avatar]TA获得超过358个赞[slogan]这个人很懒,什么都没留下![intro]4548[view_count]