惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Microsoft Security Blog
Microsoft Security Blog
Jina AI
Jina AI
量子位
博客园 - 叶小钗
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
IT之家
IT之家
S
SegmentFault 最新的问题
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
小众软件
小众软件
Hugging Face - Blog
Hugging Face - Blog
雷峰网
雷峰网
博客园 - 聂微东
美团技术团队
Last Week in AI
Last Week in AI
罗磊的独立博客
酷 壳 – CoolShell
酷 壳 – CoolShell
博客园 - 三生石上(FineUI控件)
WordPress大学
WordPress大学
宝玉的分享
宝玉的分享
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
博客园_首页
V
Visual Studio Blog
大猫的无限游戏
大猫的无限游戏
The Cloudflare Blog

博客园 - 庞滨

导出excel 查询优化 什么是iBATIS(一) 什么是iBATIS(二) 李彦宏在北大2008本科生毕业典礼上的发言 成长 何为sq注入 关闭网页框架父窗口,并跳转到一个新的窗口。 C#中数据库的连接 页面与页面之间如何传递值?如何获得 URL传过来的值. ASP.NET的错误处理机制 CSS样式 GridView的用法 使GidView变色 GridView中的双向排序 C#如何生成一个XML文件,并保存在硬盘的指定目录下 精美的HTML万年历 点击输入日期的TxtBox框后弹出js日期框供选择 C#正则表达式
如何清除Session/设置Session超时, 如何显示当前的访问人数和...
庞滨 · 2008-06-13 · via 博客园 - 庞滨

程序原理:
//1. 要将Application["user_sessions"]的值放到数据库中,不然,当服务器关闭时这个值就会被删除。
//2. 在Global.asax文件中 根根Session 来设置Application["user_sessions"]值的加减.
//3. 也要注意在web.config文件中设置Session 在下面讲了。
//4. 建立一个数据库表。
//5. 在数据库表中设初始值(可以设大一点)。以便访问量让别人看起来访问量会很大。
//6. 将获得的新的Application["user_sessions"]的值 Update到数据库表中。

//========显示访问的人数
 <script language="c#" runat="server">
        private void Page_Load(object sender, System.EventArgs e)
        {
            this.visitors.Text = "本站当前有: <br>" + Application["user_sessions"].ToString() + "" + "<br> 位访问者 !";
        }
</script>
//====Global.asax文件

 1using System;
 2using System.Collections;
 3using System.ComponentModel;
 4using System.Web;
 5using System.Web.SessionState;
 6
 7namespace BYD_SPCSystem 
 8{
 9    /// <summary>
10    /// Global 的摘要说明。
11    /// </summary>

12    public class Global : System.Web.HttpApplication
13    {
14        /// <summary>
15        /// 必需的设计器变量。
16        /// </summary>

17        private System.ComponentModel.IContainer components = null;
18
19        public Global()
20        {
21            InitializeComponent();
22        }
    
23        
24        protected void Application_Start(Object sender, EventArgs e)
25        
29 
30        protected void Session_Start(Object sender, EventArgs e)
31        {
32            //session的生存期是多长,是可以设定的,Session.timeout=X(分钟)
33            //在一个新用户访问应用程序 Web 站点时,该事件被触发。
34            Application.Lock();
35            Application["user_sessions"= (int)Application["user_sessions"+ 1;
36            Application.UnLock();
37
38        }

39
40        protected void Application_BeginRequest(Object sender, EventArgs e)
41        {
42
43        }

44
45        protected void Application_EndRequest(Object sender, EventArgs e)
46        {
47
48        }

49
50        protected void Application_AuthenticateRequest(Object sender, EventArgs e)
51        {
52
53        }

54
55        protected void Application_Error(Object sender, EventArgs e)
56        {
57
58        }

59
60        protected void Session_End(Object sender, EventArgs e)
61        {
62            //在一个用户的会话超时、结束或他们离开应用程序 Web 站点时,该事件被触发。
63            Application.Lock();
64            Application["user_sessions"= (int)Application["user_sessions"]-1;
65            Application.UnLock();
66        }

67
68        protected void Application_End(Object sender, EventArgs e)
69        {
70
71        }

72            
73        Web 窗体设计器生成的代码
83    }

84}

85
86


//=====web.config文件

//删除Session   
//================1. 关闭网页时加载另一个页面
<script type="text/javascript">
var obj = new Object();
obj.name="i5tt";
function window.onunload()
{
window.showModalDialog("ClosePage.aspx",obj,"dialogWidth=200px;dialogHeight=100px");
}
</script>

//========2. 清空Session  
 <%Session.Clear(); Session.Abandon();  %>
//========3. 将这个页面关闭.
protected void Page_Load(object sender, EventArgs e)
        {
            Response.Write("<script language='javascript'>window.close();</script>");
        }
//========4. 注意这样清除Session的话,在每次刷新页面时都会将Session自动清空,因为Session是在页面加载时清空的。 
  -->1. 刷新是用来更新当前数据的显示信息
         -->2. 重新提交页面. 

Feedback

#1楼 222.125.46.*   回复  引用  查看  删除  

2007-08-11 13:26 by ayu [未注册用户]

//========2. 清空Session
<%Session.Clear(); Session.Abandon(); %>

这个是写在哪里的吖?没看懂...

#2楼 [楼主]   回复  引用  查看  删除  修改

2007-08-11 13:44 by wj-conquer      

@ayu
写在 *.aspx页面的任何位置都可以,一定要加<% %>
也可以在 *.aspx.cn 中的
protected void Page_Load(object sender, EventArgs e)
{
     Session.Clear();   //可以不写此行。
Session.Abandon();
}
两种写法的作用是一样的。