| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 871 人关注过本帖
标题:asax文件使用
只看楼主 加入收藏
等待冰柠檬
Rank: 2
来 自:浙江温州
等 级:论坛游民
帖 子:208
专家分:70
注 册:2008-6-25
结帖率:66.67%
收藏
 问题点数:0 回复次数:8 
asax文件使用
using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.SessionState;
using System.Xml.Linq;

namespace WzJyw.asax
{
    public class Onle : System.Web.HttpApplication
    {

        protected void Application_Start(object sender, EventArgs e)
        {
            //在应用程序启动时运行的代码
            Application["online"] = 0;  //初始化在线人数变量值
        }

        protected void Session_Start(object sender, EventArgs e)
        {
            //在新会话启动时运行的代码,新会话开始表示有新的用户加入
            Application.Lock();  //锁定Application
            int NUM = (int)Application["online"] + 1;
            Application.Set("online", NUM); //修改对象值,为自身+1
            Application.UnLock(); //解除对象锁定
        }

        protected void Application_BeginRequest(object sender, EventArgs e)
        {

        }

        protected void Application_AuthenticateRequest(object sender, EventArgs e)
        {

        }

        protected void Application_Error(object sender, EventArgs e)
        {

        }

        protected void Session_End(object sender, EventArgs e)
        {
            //在会话结束时运行的代码
            //注意:只有在Web.config文件中的sessionstate模式设置为
            //Inproc时,才会触发Session_End事件.如果会话模式设置为StateServer
            //或SQLServer,则不会触发该事件
            Application.Lock();  //锁定Application
            int NUM = (int)Application["online"] - 1;
            Application.Set("online", NUM); //修改对象值,为自身+1
            Application.UnLock(); //解除对象锁定
        }

        protected void Application_End(object sender, EventArgs e)
        {

        }
    }
}

我想把在线人数显示在Label上 但是不可以 大家帮忙下 谢谢了
    public partial class Head2 : System.Web.UI.UserControl
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            lblOnle.Text = Application["online"].ToString(); //显示在线人数
            Response.AddHeader("Refresh", "30"); //设置30秒刷新一次
        }
    }
搜索更多相关主题的帖子: 文件 文件 asax asax 
2010-03-24 02:05
yms123
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:209
帖 子:12488
专家分:19042
注 册:2004-7-17
收藏
得分:0 
怎么不可以了?显示不出来?
2010-03-25 09:21
sj898
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2010-3-25
收藏
得分:0 
Application.Get["online"] 你试试。

私服一条龙 http://www./
2010-03-25 10:59
等待冰柠檬
Rank: 2
来 自:浙江温州
等 级:论坛游民
帖 子:208
专家分:70
注 册:2008-6-25
收藏
得分:0 
还是不可以 都显示对象未实例化
2010-03-26 00:56
yms123
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:209
帖 子:12488
专家分:19042
注 册:2004-7-17
收藏
得分:0 
你的Web.config怎么写的?
2010-03-26 09:05
lch0416
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2010-4-16
收藏
得分:0 
我做过这个系统的,要是你还没要的话可以跟我联系的,我的QQ是345802833
2010-04-16 21:40
visolleon
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:71
专家分:182
注 册:2007-1-16
收藏
得分:0 
以下是引用lch0416在2010-4-16 21:40:51的发言:

我做过这个系统的,要是你还没要的话可以跟我联系的,我的QQ是345802833

解决问题! 问题出来是拿来分析的。

2010-04-25 20:07
visolleon
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:71
专家分:182
注 册:2007-1-16
收藏
得分:0 
楼主说的问题不是太清楚!我不知道楼主会不会调试?
发现论坛里的很多人都不是太会调试程序!
很多帖子的问题都是“对象未实例化 ”

我觉得出现这个问题,很多是大家在写程序根本不考虑程序执行的时候的各种情况,只考虑怎么去实现程序,然后了事。
就拿这段代码来说下:
程序代码:
        protected void Session_Start(object sender, EventArgs e)
        {
            //在新会话启动时运行的代码,新会话开始表示有新的用户加入
            Application.Lock();  //锁定Application
            int NUM = (int)Application["online"] + 1;
            Application.Set("online", NUM); //修改对象值,为自身+1
            Application.UnLock(); //解除对象锁定
        }

首先最大的问题就在于:在Application.Lock()后,就能肯定在Application.UnLock()之前所执行的代码都不会出异常?
假如出异常,那么导致的情况是你的Aplication这次请求就一直在Lock状态了,那后面的操作会发生什么?
所以在这里,中间要加try {}catch{}。

第二点就是这句:
int NUM = (int)Application["online"] + 1;

这里就那么肯定Application["online"] 一定是有值的?不会是null? 假如IIS应用池回收了,那么Application["online"] 还会有值吗?肯定会抛出对象未实例化了哦。
还有这句也是一样:
Application["online"].ToString(); 


建议使用AS:
int num = Application["online"] as Int32;


2010-04-25 20:18
misswang
Rank: 8Rank: 8
来 自:湖北荆州
等 级:贵宾
威 望:15
帖 子:265
专家分:720
注 册:2010-3-11
收藏
得分:0 
顶顶顶

misswp2010@
wangping103@
2010-04-26 12:34
快速回复:asax文件使用
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.018774 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved