`

使用 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 here
End 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;
}

VB
Sub Application_Start(Sender As Object, E As EventArgs)
' Application startup code goes here
End Sub

Sub Session_Start(Sender As Object, E As EventArgs)
Response.Write("Session is Starting...<br>")
Session.Timeout = 1
End 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"/>

分享到:
评论

相关推荐

    通用防SQL注入漏洞程序(Global.asax方式)_aspx开发教程.rar

    本教程将详细讲解如何使用Global.asax文件来实现一个通用的防SQL注入策略,以保护ASP.NET应用程序不受此类攻击。 一、SQL注入的原理与危害 SQL注入主要是利用了程序处理用户输入时未进行充分验证的漏洞。攻击者可以...

    Global.asax文件、web.config文件详解(上)

    Global.asax文件 web.config文件 详解

    Global.asax 文件是什么

    件驱动的编程模型使得 Global.asax 文件成为管理 ASP.NET 应用程序全局行为的关键组件。在深入了解这些事件之前,我们先来理解 Global.asax 文件的基本作用。 Global.asax 文件是 ASP.NET 应用程序级别的一个特殊...

    通用防SQL注入漏洞程序(Global.asax方式)

    通过以上方法,Global.asax文件可以作为一个强大的工具,帮助我们在ASP.NET应用程序中构建一个全面的防线,防止SQL注入攻击。然而,这并不意味着可以完全依赖它,还需要结合其他安全措施,如防火墙、入侵检测系统...

    ASP.NET源码——通用防SQL注入漏洞程序(Global.asax方式).zip

    在ASP.NET中,Global.asax文件是一个特殊的应用程序全局事件处理程序,它允许开发者捕获和响应应用程序级别的事件,如请求开始、结束等。这个压缩包提供的源码是针对ASP.NET应用的通用防SQL注入漏洞程序,通过Global...

    ASP.net全局程序文件Global.asax用法分析

    正确地使用Global.asax文件中的事件可以极大地增强应用程序的功能性和响应性。在实际开发中,开发者应该根据应用程序的具体需求,选择合适的位置在Global.asax文件中编写代码,以便更高效地利用***框架提供的功能。

    Global.asax_作用

    开发人员使用位于特定 Web 应用程序根目录下的 Global.asax 文件来创作逻辑。第一次激活或请求应用程序命名空间内的任何资源或 URL 时,ASP.NET 会将其 Global.asax 文件编译为从 HttpApplication 类派生而来的一个...

    Sitefinity 5.1.3450 Enterprise + Global.asax

    这个压缩包“Sitefinity 5.1.3450 Enterprise + Global.asax”很可能包含了Sitefinity 5.1版本的完整安装程序,以及特定的Global.asax文件,该文件对于理解整个系统的配置和运行至关重要。 Sitefinity 5.1是一个...

    global.asax

    global.asax 用法介绍 void Application_Start(object sender, EventArgs e) { // Code that runs on application startup string st= HttpContext.Current.Request.ContentEncoding.BodyName.ToString();...

    .net全局定时定期执行某些操作在Global.asax中具体实现

    同时,还需要注意在Global.asax文件中使用指令指定使用的编程语言,并在标签内编写服务器端脚本。 在代码实现过程中,Application_End和Session_End事件也是需要关注的。Application_End在应用程序关闭时触发,允许...

    ASP.NET中Global.asax 文件是什么?

    Global.asax 文件,有时候叫做 ASP.NET 应用程序文件,提供了一种在一个中心位置响应应用程序级或模块级事件的方法。你可以使用这个文件实现应用程序安全性以及其它一些任务。下面让我们详细看一下如何在应用程序...

    Global.asax取绝对路径的方法

    在Global.asax文件中取绝对路径的方法: 代码如下: string absolutelyPath =AppDomain.CurrentDomain.BaseDirectory; 您可能感兴趣的文章:asp.net 在global中拦截404错误的实现方法Global.cs中自动获取未处理的...

    [其他类别]通用防SQL注入漏洞程序(Global.asax方式)_sqlinjection(ASP.NET源码).rar

    针对这个问题,开发人员通常会采用各种防御策略,其中之一就是利用Global.asax文件来实现全局的SQL注入防护。本资源提供了一种通用的防SQL注入漏洞程序,适用于ASP.NET平台,让我们深入了解一下这个主题。 1. **SQL...

    ASP.NET-[其他类别]通用防SQL注入漏洞程序(Global.asax方式).zip

    这个压缩包中的"ASP.NET-[其他类别]通用防SQL注入漏洞程序(Global.asax方式)_sqlinjection.rar"文件,很可能包含了一个示例或工具,通过Global.asax文件实现对所有HTTP请求的拦截和输入验证,以此防止SQL注入攻击。...

    ASP.NET Global.asax应用程序文件简介

    .asax 文件扩展名指出它是一个应用程序文件,而不是一个使用 aspx 的 ASP.NET 文件。 Global.asax 文件被配置为任何(通过 URL 的)直接 HTTP 请求都被自动拒绝,所以用户不能下载或查看其内容。ASP.NET 页面框架...

    Global.asax的Application_BeginRequest实现url重写无后缀的代码

    Global.asax文件是***应用程序中的一个特殊文件,它被用作应用程序级别事件的处理程序。它能够让开发者编写代码来响应应用程序的生命周期事件,比如应用程序启动、停止、会话开始、会话结束以及请求开始和结束等。...

    Global.asax的Application_Error实现错误记录/错误日志的代码

    Global.asax文件用于定义应用程序级别的事件处理程序,这些事件处理程序可以对应用程序范围内的事件(例如应用程序启动、会话开始、请求处理等)做出响应。本文重点介绍如何通过Global.asax中的Application_Error...

Global site tag (gtag.js) - Google Analytics