Application_Start和Session_Start有什么区别

2024-12-21 02:48:38
推荐回答(2个)
回答1:

还是不太明白,不都是第一次访问网站吗?
答:不能用“第一次访问网站”这个概念来区分的。
这么来说吧,当你的IIS配置好了,第一个人,第一次访问你这个网站的时候,两个都触发。applicaiton在前,session在后,
以后的时候,只要你的iis进程不重启或崩溃的话,在有人访问网站的时候,就只执行session_stat了。

也就是applicaiton_state()只是在你启动程序的时候触发,只要你的网站运行着,它就不触发了。
session是与用户关联的,有一个新用户它就触发一次。
具体的,楼主可以跟一下断点,自己调试下就可以了。

Application_start只对这个网站的第一个访问者起作用吗?
楼主怎么老局限在访问者身上?
是在应用程序第一次启动的时候触发的。
这么说吧,是和第一个访问的人有关系,application只触发一次,session触发N次。

回答2:

Application_start: 第一个访问网站的用户会触发该方法. 通常会在该方法里定义一些系统变量,如聊天室的在线总人数统计,历史访问人数统计的初始化等等均可在这里定义.

Application_end:网站关闭,或重启时,会触发该方法.
Session_start : 每个用户访问网站的第一个页面时触发;

Session_end:使用了session.abandon(),或session超时用户退出后均可触发.

-------------------------

举个例子.比如在Application_start里调用了a方法.在Session_start调用了b方法.
你是第一个访问的.此时会执行a方法.也会执行b方法.而我再访问的话.就不会执行a方法了.但会执行b方法.