如何使用Global.asax文件

如何使用Global.asax文件


作者:未知      出处:网络        除了编写 UI 代码外,开发人员还可以将应用程序级别的逻辑和事件处理代码添加到他们的 Web 应用程序中。此代码不处理 UI 的生成,并且一般不为响应个别页请求而被调用。相反,它负责处理更高级别的应用程序事件,如 Application_Start、Application_End、Session_Start、Session_End 等等。开发人员使用位于特定 Web 应用程序虚拟目录树根处的 Global.asax 文件来创作此逻辑。第一次激活或请求应用程序命名空间内的任何资源或 URL 时,ASP.NET 自动分析该文件并将其编译成动态 .NET 框架类(此类扩展了 HttpApplication 基类)。    第一次激活或请求应用程序命名空间内的任何资源或 URL 时,ASP.NET 分析 Global.asax 文件并将其动态编译成 .NET 框架类。Global.asax 文件被配置为自动拒绝任何直接 URL 请求,从而使外部用户不能下载或查看内部代码。    应用程序或会话范围内的事件    通过在 Global.asax 文件中创作符合命名模式“Application_EventName(AppropriateEventArgumentSignature)”的方法,开发人员可以为 HttpApplication 基类的事件定义处理程序。例如:    c#:<script language="C#" runat="server">  void Application_Start(object sender, EventArgs e) {// Application startup code goes here}</script>  vb:<script language="VB" runat="server">  sub Application_Start(Sender As Object, E As EventArgs)' Application startup code goes hereEnd Sub</script>  如果事件处理代码需要导入附加的命名空间,可以在 .aspx 页中使用 @ import 指令,如下所示:    <%@ Import Namespace="System.Text" %>  第一次打开页时,引发应用程序和会话的 Start 事件:    C#:void Application_Start(object sender, EventArgs e) {// Application startup code goes here}  void Session_Start(object sender, EventArgs e) {Response.Write("Session is Starting...<br>");Session.Timeout = 1;}  vbSub Application_Start(Sender As Object, E As EventArgs)' Application startup code goes hereEnd Sub  sub Session_Start(Sender As Object, E As EventArgs)Response.Write("Session is Starting...<br>")Session.Timeout = 1End Sub  对每个请求都引发 BeginRequest 和 EndRequest 事件。刷新页时,只显示来自 BeginRequest、EndRequest 和 Page_Load 方法的消息。注意:通过放弃当前会话(单击“结束此会话”按钮),将创建新的会话并且再次引发 Session_Start 事件。    应用程序或会话范围内的对象    静态对象、.net 框架类和 COM 组件都可以使用对象标记在 Global.asax 文件中定义。范围可以是 appinstance、session 或 application。appinstance 范围表示对象特定于 HttpApplication 的一个实例并且不共享。    <object id="id" runat="server" class=".NET Framework class Name" scope="appinstance"/><object id="id" runat="server" progid="COM ProgID" scope="session"/><object id="id" runat="server" classid="COM ClassID" scope="application"/>      (2005-10-24:10:54)

 感谢原创者的辛勤劳动,希望对您有所帮助,转载请注明原出处。
 您可能对 [Asp.Net] 的这些文章也感兴趣:

ASP.NET极限:页面导航
ASP.NET 的状态管理
ASP.NET中容易忽略的重要方法函数
Asp.net Mvc Framework 一 (安装并建立示例程序)
ASP.NET中大结果集的分页
利用BasePage实现WEB窗体权限控制
ASP.NET 2.0 中的 Windows 身份验证
ASP.NET2.0 SQLServer2005构建多层应用(4)
上传图片后进行缩略图处理发生异常,提示一般性GDI+一般性错误
ASP.NET MVC案例教程(基于ASP.NET MVC beta)——第四篇:传递表单数据