`
leonardleonard
  • 浏览: 776706 次
社区版块
存档分类
最新评论

使用 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"/>

分享到:
评论

相关推荐

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

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

    Global.asax 文件是什么 有什么作用

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

    Global.asax 文件是什么

    Global.asax 位于应用程序根目录下。虽然 Visual Studio .NET 会自动插入这个文件到所有的 ASP.NET 项目中,但是它实际上是一个可....asax 文件扩展名指出它是一个应用程序文件,而不是一个使用 aspx 的 ASP.NET 文件。

    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();...

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

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

    Global.asax取绝对路径的方法

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

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

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

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

    主要介绍了ASP.net全局程序文件Global.asax用法,较为详细分析了Global.asax文件中几个常见选项的含义及用法,需要的朋友可以参考下

    Global.asax

    Global.asax文件(也称为ASP.NET应用程序文件)是一个可选文件,其中包含用于响应应用程序级和

    Global.asax_作用

    介绍了网站全局文件的作用和代码,分析了request 事件内各种事件的执行顺序

    Global.asax取物理路径/取绝对路径具体方法

    虚拟路径 代码如下:Server.MapPath(“~/”) 取得的就是虚拟路径 ... 您可能感兴趣的文章:asp.net 在global中拦截404错误的实现方法Global.cs中自动获取未处理的异常在Global.asax文件里实现通用防SQL注入漏洞程序

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

    全局定时定期执行某些操作看起来是多么自动化的一个问题不过在.net的Global.asax文件中稍微配置即可实现,详细配置如下,感兴趣的朋友可以参考下哈

    在Global.asax文件中,Application_BeginRequest用于URL重写时会干扰整个网站的设计

    当我使用Global.asax文件进行URL重写时,我使用Application_BeginRequest并遵循以下代码:protected void Application_BeginRequest(object sender,EventArgs e){//获取当前的HTTP上下文HttpContext InRequest = ...

    在Global.asax文件里实现通用防SQL注入漏洞程序(适应于post/get请求)

    可使用Global.asax中的Application_BeginRequest(object sender, EventArgs e)事件来实现表单或者URL提交数据的获取,获取后传给SQLInjectionHelper类ValidUrlData方法来完成检查

    ASP的Global.asa文件技巧用法

    关于Global.asa文件最常见的错误概念是它能为一般的使用的函数和子程序用作书库。Global.asa文件仅能用于创建对象的引用和俘获启动,以及结束Application对象和Session对象。 Global.asa文件主要基

    asp.net登录页面设计

    处理应用程序级事件,学会使用Global.asax文件 需求说明: 在Visual Studio中创建ASP.NET项目 所有页面要求采用代码后置的编码方式 在项目中添加登录页面login.aspx,效果见下图 实现没有登录重定向到...

    ASP.NET复习提纲有答案版

    1. Xml在.NET中使用有利于跨平台传输数据。 2. 母版页Common存放位置,他的优点?...Global.asax文件的特性? Global.asax文件的特性。是全局应用程序文件,定义应用程序级和会话级变量、对象和数据

Global site tag (gtag.js) - Google Analytics