正文

如何编写global.asax(转)2007-04-14 19:01:00

【评论】 【打印】 【字体: 】 本文链接:http://blog.pfan.cn/lym51/24895.html

分享到:

为了编写用户界面的应用程序,开发者可以把应用程序标准的逻辑和时间处理的代码加到Web Application 里面。这些代码不产生用户界面,也不想英单个得页面的请求。事实上,这些代码处理更高水平的事件,如Application_Start, Application_End, Session_Start, Session_End,等等。开发者通过放在web应用程序根目录下面的Global.asax来响应这些事件。

      

       Asp.net通过一个动态的.NET FrameWork 类自动解析和编译这个文件,这个类就是HttpApplication基类,在第一时间里面,在这个文件里面的应用程序的资源将会被响应。

      

       首先,在包含有请求的应用程序名字空间中被访问之前,Global.asax将被解析和编译成.NET Framework的一个类。这个文件本身有拒绝被访问的配置。

      

       下面我们来看看这个文件里面的具体内容,首先我们声明这个文件的使用语言、运行环境:

      

       <script language=”VB” runat=server>

       相关方法

       </script>

 

然后我们就可以定义各种方法了,

      

       Sub Application_Start()

              方法的属性等

End Sub

 

如果事件处理代码需要用到名字空间,我们可以这样来引用它:

      

       <%@  Import  Namespace=”System.Data.SQL”%>

 

下面我们来看看这个文件的具体应用,首先我们在我们的Web Server上建立一个Global.asax文件,我们在里面加上我们的代码:

 

<script language=”VB” runat=server>

相关方法

 

Sub Application_Start()

              方法的属性等

End Sub

 

Sub Application_Start(Sender As Object, E As EventArgs)

       Application.Lock()

       Application("counter") = CType(Application("counter") + 1, Int32)

       Application.UnLock()

   End Sub

 

    Sub Application_End(Sender As Object, E As EventArgs)

        ' Clean up application resources here

    End Sub

 

    Sub Session_Start(Sender As Object, E As EventArgs)

        Response.Write("Session 正在启动...<br>")

    End Sub

 

    Sub Session_End(Sender As Object, E As EventArgs)

        ' Clean up session resources here

    End Sub

       </script>

 

当然,我们还要配置Config.web,用来指定出错信息的打印页面。根据上面我们配置Config.web的经验,我们很容易的就可以对这个文件进行配置:

 

       <configuration>

    <customerrors mode="on" defaultredirect="error.htm" />

    <globalization requestencoding="gb2312" responseencoding="gb2312" />

</configuration>

第二句话就是配置我们指定的出错页面语句。我们写两个页面来实现它,一个为出错页面,一个为实现这个功能的aspx页面。出错页面很简单的,就是报告程序出错时显示的信息,我们就写“在config.web里面配置的连接!“,是经过aspx页面甩出来的。

aspx页面,我们用下面的语句来响应出错按钮点击事件:

 

Sub Error_Click(Sender As Object, E As EventArgs)

               甩出异常!

         throw New Exception()

End Sub

 

以外我们的响应Session的方法用下面的语句来说明:

      

       Sub Session_Click(Sender As Object, E As EventArgs)

         Session.Abandon()

         Response.Redirect("global.aspx")

End Sub

 

下面是完整的代码:

      

       <html>

   <script language="VB" runat="server">

      '页面导入

      Sub Page_Load(Sender As Object, E As EventArgs)

         Response.Write("正在装入页面...<br>")

      End Sub

 

      'Session事件

      Sub ssaidy(Sender As Object, E As EventArgs)

         Session.Abandon()

         Response.Redirect("global.aspx")

      End Sub

 

      '响应错误方法

      Sub esaidy(Sender As Object, E As EventArgs)

        '抛出异常

         throw New Exception()

      End Sub

  </script>

  <body>

   <br><br><br>

   <center>

    <form runat="server">

      <input type="submit" Value="刷新这个页面" runat="server"/>

      <input type="submit" OnServerClick="ssaidy" Value="结束这个Session" runat="server"/>

      <input type="submit" OnServerClick="esaidy" Value="错误表示" runat="server"/><p>

      <hr>

    </form>

    </center>

    <br><br>

  </body>

</html>

阅读(3716) | 评论(0)


版权声明:编程爱好者网站为此博客服务提供商,如本文牵涉到版权问题,编程爱好者网站不承担相关责任,如有版权问题请直接与本文作者联系解决。谢谢!

评论

暂无评论
您需要登录后才能评论,请 登录 或者 注册