分享

编写global.asax

 趋明 2012-03-21

 

为了编写用户界面的应用程序,开发者可以把应用程序标准的逻辑和时间处理的代码加到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>

运行结果如下:

点击"错误表示"按钮,显示如下:

4.3.1小结
讲述了配置文件Global.asax的配置问题,Global.asax文件对一个.NET技术构建的WEB站点来讲,是非常必须的,本章我们的内容就是针对它讲的。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多