|登录 |注册

查看: 3734|回复: 13
打印 上一主题 下一主题

asp.net session + global.asax 问题

[复制链接]
我是大猪头
2009-11-7 04:47 PM
一直都很不明白global.asax里面的事件是怎样用的
例如说那个session_start和session_end是什么时候才会开启
是不是当我的某个user一login然后用session记录他的userid+password+role过后
就会引发session_start事件。。
当我logout的时候用session_abandon就会引发session_end事件
如果我想在logout过后直接跳转页面去login的页面是不是要在session_end做这样的动作
会不会有效Response.Redirect("~/LoginFolder/Login.aspx";会不会有效?
其实我也不是很清楚session_abandon是怎么一回事。。
跟session_clear有什么分别
Super-Tomato
2009-11-7 05:59 PM
原帖由 我是大猪头 于 2009-11-7 04:47 PM 发表
一直都很不明白global.asax里面的事件是怎样用的
例如说那个session_start和session_end是什么时候才会开启
是不是当我的某个user一login然后用session记录他的userid+password+role过后
就会引发session_start事件。。
当我logout的时候用session_abandon就会引发session_end事件
如果我想在logout过后直接跳转页面去login的页面是不是要在session_end做这样的动作
会不会有效Response.Redirect("~/LoginFolder/Login.aspx";会不会有效?
其实我也不是很清楚session_abandon是怎么一回事。。
跟session_clear有什么分别


session 的紀錄是在 session_start 事件創建成功之後才能紀錄
你使用 session 的話在使用者在開啟頁面的時候就會觸發 session_start 事件, 而在關閉瀏覽器的時候 Application 就會 abandon 掉 session

abandon 和 clear 的差別從字面就可以了解其意思(清除與摒棄)
我是大猪头
2009-11-7 08:02 PM
那么log out就是应该使用session_clear咯??em0010
Super-Tomato
2009-11-7 08:08 PM
原帖由 我是大猪头 于 2009-11-7 08:02 PM 发表
那么log out就是应该使用session_clear咯??em0010


這就看你怎麼用了

clear 只是把 session 中的項目清除而已, 但沒釋放在 Application 中所創建的 session
abandon 的情況下 session_end 就會被觸發, 那麼你要是再想使用就會創建新的 session
我是大猪头
2009-11-7 08:16 PM
原帖由 Super-Tomato 于 2009-11-7 08:08 PM 发表


這就看你怎麼用了

clear 只是把 session 中的項目清除而已, 但沒釋放在 Application 中所創建的 session
abandon 的情況下 session_end 就會被觸發, 那麼你要是再想使用就會創建新的 session


不是很了解。。。
有实例吗?
Super-Tomato
2009-11-7 08:26 PM
原帖由 我是大猪头 于 2009-11-7 08:16 PM 发表


不是很了解。。。
有实例吗?



我不使用 .NET 所以沒辦法給你例子, 所以你只好

1. 使用 google 搜索例子, 這種例子可以說是一籮筐
2. 等待 goodday 給你實例吧
goodday
2009-11-7 09:16 PM
当你进入 website     session 就 trigger 了
没关有没有login 的

session["username"]   <--- 这类的是 extra 自己加入 的

一进 browser 会有个cookie for session 的 你能在 SessionID.



        Session["abc"] = "abc";
        Session.Add("def", "def");


当 session create 时 就会 trigger
globe.asax 的

session_start

你学歪了 呵呵 搞错它们原先设计的概念

Response.Redirect("~/LoginFolder/Login.aspx");

不会有效的
那边是放 整个 website 的 session 管理的

globe.asax 是website 用的
你的user 的是 page.aspx 用的

globe.asax 是用来 做 在线总人数, ip 记录, error tracking 的

http://www.dotblogs.com.tw/jimmyyu/archive/2009/08/07/9930.aspx
goodday
2009-11-7 09:28 PM
补两张





同一个 cookie value
em0011
我是大猪头
2009-11-7 11:10 PM
还不是很了解。。
不过也一知半解了
如果补个global.asax + session的实例上来应该就有个80%了解了。。
那么web.config和global.asax有什么关系
我是大猪头
2009-11-7 11:13 PM
网上找的都解释到太模糊了,对于我这种新手。。
真的是看不懂
您需要登录后才可以回帖 登录 | 注册

JBTALKS.CC |联系我们 |隐私政策 |Share

GMT+8, 2025-3-10 09:01 PM , Processed in 0.104704 second(s), 24 queries .

Powered by Discuz! X2.5 © 2001-2012 Comsenz Inc.

本论坛言论纯属发表者个人意见,与本论坛立场无关
Copyright © 2003-2012 JBTALKS.CC All Rights Reserved

Dedicated Server powered by iCore Technology Sdn. Bhd.

合作联盟网站:
JBTALKS 马来西亚中文论坛 | JBTALKS我的空间 | ICORE TECHNOLOGY SDN. BHD.
回顶部