global.asax和Session

                     global.asax和Session

 

             global.asax

定义:global.asax是一个文本文件,它提供全局可用代码。这些代码包括应用程序的事件处理程序以及会话事件、方法和静态变量。有时该文件也被称为应用程序文件。global.asax 文件中的任何代码都是它所在的应用程序的一部分。每个应用程序在其根目录下只能有一个global.asax文件。

     Global.asax 文件(也称作 ASP.NET 应用程序文件)是可选文件,包含用于响应 ASP.NET 或 HttpModule 引发的应用程序级别事件的代码。

事件:

    


                           Session

定义:Session可以在服务器端保持一些信息,并且当一个特定的用户在一个特定的WebApp中的不同页面间跳转时,这个信息是可以共享的。

事件:

Session_Start开始

Session_End结束

Session.collection | property | method

属性:

 

优点:存储用户信息:

     ·包含用户特定信息

     ·在会话中跟踪和监视用户信息

·会话期满后销毁对象

下面用一个登录的例子来展示global.asax和Session的用法:

    Global.asax

<span style="font-size:18px;">public class Global : System.Web.HttpApplication
    {

        void Application_Start(object sender, EventArgs e)
        {
            // 在应用程序启动时运行的代码
            Application.Add("count",0);
        }

        void Application_End(object sender, EventArgs e)
        {
            //  在应用程序关闭时运行的代码

        }

        void Application_Error(object sender, EventArgs e)
        {
            // 在出现未处理的错误时运行的代码

        }

        void Session_Start(object sender, EventArgs e)
        {
            // 在新会话启动时运行的代码
            Application.Lock();
            Application["count"]=(int)Application["count"]+1;
            Application.UnLock();
        }

        void Session_End(object sender, EventArgs e)
        {
            // 在会话结束时运行的代码。 
            // 注意: 只有在 Web.config 文件中的 sessionstate 模式设置为
            // InProc 时,才会引发 Session_End 事件。如果会话模式设置为 StateServer 
            // 或 SQLServer,则不会引发该事件。

        }

    }</span>
Login

<span style="font-size:18px;">public partial class Login : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        this.Button2.Attributes.Add("onclick", "window.close();");
    }
    protected void Button1_Click(object sender, EventArgs e)
    {
        Session["flag"] = "ok";
        user u = new user();
        u.name = this.TextBox1.Text;
        u.identity = this.DropDownList1.SelectedItem.Text;
        Session["user"] = u;
        Response.Redirect("Main.aspx");
    }
}</span>
judge

<span style="font-size:18px;">public partial class judge : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        if (Session["flag"] == null || Session["flag"] != "ok")
        {
            Response.Redirect("loginFail.aspx");
        }
    }
}</span>



评论 23
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值