Global文件的作用与属性

 
我们在VS.net创建一个工程的时候会出现几个文件和文件夹,
今天我们就说说他们的作用吧,
Global.asax
Global.asax.cs
web.config
bin文件夹
我们先说说Global.asax
看看msdn中的解释吧:
Global.asax 文件(也叫做 ASP.NET 应用程序文件)是一个可选的文件,该文件包含响应 ASP.NET 或 HTTP 模块引发的应用程序级别事件的
代码。Global.asax 文件驻留在基于 ASP.NET 的应用程序的根目录中。在运行时,分析 Global.asax 文件并将其编译到一个动态生成的 .NET
框架类,该类是从 HttpApplication 基类派生的。配置 Global.asax 文件自身,以便自动拒绝对该文件的任何直接 URL 请求;外部用户不能
下载或查看在其中编写的代码。
ASP.NET Global.asax 文件可以和 ASP Global.asa 文件共存。您可以在 WYSIWYG(所见即所得)设计器中或“记事本”中创建 Global.asax
文件,或者作为编译的类创建(将该类作为程序集部署在应用程序的 /bin 目录中)。但是,在后面的一种情况中,您仍需要一个引用该程序
集的 Global.asax 文件。
Global.asax 文件是可选的。如果不定义该文件,ASP.NET 页框架假设您未定义任何应用程序或会话事件处理程序。
当您将更改保存到活动 Global.asax 文件时,ASP.NET 页框架检测到该文件已被更改。它完成应用程序的所有当前请求,将
Application_OnEnd 事件发送到任何侦听器,并重新启动应用程序域。实际上,这会重新启动应用程序,关闭所有浏览器会话并刷新所有状态
信息。当来自浏览器的下一个传入请求到达时,ASP.NET 页框架将重新分析并重新编译 Global.asax 文件并引发 Application_OnStart 事件
用记事本打开,我们会看到:
<%@ Application Codebehind="Global.asax.cs" Inherits="We.Global" %>
这里是用Codebehind="Global.asax.cs"和Inherits="We.Global"
进行文件的关联的,
我们在打开Global.asax.cs
就看到了Global的事件代码
我们将说说事件代码的作用,这样就都清楚了。
1>Application_BeginRequest
  当接收到程序的时侯自动触发,可用来做站点计数器。
2>Application_AuthenticateRequest
  在安全模块建立用户的有效身份,该事件被触发,用户将被验证。
3>Application_authorizeRequest
  安全模块确认用户是不是有权限访问资源
4>Application_EndRequest
  应用程序的最后一个事件
5>Application_OnStart
  Application_OnStart 事件在首次创建新的会话(即 Session_OnStart 事件)之前发生。只有     Application 和 Server 内建对象是可
用的。在 Application_OnStart 事件脚本中引用 Session、    Request 或 Response 对象将导致错误。
6>Application_OnEnd
  Application_OnEnd 事件在应用程序退出时于 Session_OnEnd 事件之后发生,只有 Application 和    Server 内建对象可用。
Global.asax 文件继承自HttpApplication 类,它维护一个HttpApplication 对象池,并在需要时将对象池中的对象分配给应用程序。
Global.asax 文件包含以下事件:
· Application_Init:在应用程序被实例化或第一次被调用时,该事件被触发。对于所有的HttpApplication 对象实例,它都会被调用。
· Application_Disposed:在应用程序被销毁之前触发。这是清除以前所用资源的理想位置。
· Application_Error:当应用程序中遇到一个未处理的异常时,该事件被触发。
· Application_Start:在HttpApplication 类的第一个实例被创建时,该事件被触发。它允许你创建可以由所有HttpApplication 实例访问
的对象。
· Application_End:在HttpApplication 类的最后一个实例被销毁时,该事件被触发。在一个应用程序的生命周期内它只被触发一次。
· Application_BeginRequest:在接收到一个应用程序请求时触发。对于一个请求来说,它是第一个被触发的事件,请求一般是用户输入的一
个页面请求(URL)。
· Application_EndRequest:针对应用程序请求的最后一个事件。
· Application_PreRequestHandlerExecute:在 ASP.NET 页面框架开始执行诸如页面或 Web 服务之类的事件处理程序之前,该事件被触发。
· Application_PostRequestHandlerExecute:在 ASP.NET 页面框架结束执行一个事件处理程序时,该事件被触发。
· Applcation_PreSendRequestHeaders:在 ASP.NET 页面框架发送 HTTP 头给请求客户(浏览器)时,该事件被触发。
· Application_PreSendContent:在 ASP.NET 页面框架发送内容给请求客户(浏览器)时,该事件被触发。
· Application_AcquireRequestState:在 ASP.NET 页面框架得到与当前请求相关的当前状态(Session 状态)时,该事件被触发。
· Application_ReleaseRequestState:在 ASP.NET 页面框架执行完所有的事件处理程序时,该事件被触发。这将导致所有的状态模块保存它
们当前的状态数据。
· Application_ResolveRequestCache:在 ASP.NET 页面框架完成一个授权请求时,该事件被触发。它允许缓存模块从缓存中为请求提供服务
,从而绕过事件处理程序的执行。
· Application_UpdateRequestCache:在 ASP.NET 页面框架完成事件处理程序的执行时,该事件被触发,从而使缓存模块存储响应数据,以
供响应后续的请求时使用。
· Application_AuthenticateRequest:在安全模块建立起当前用户的有效的身份时,该事件被触发。在这个时候,用户的凭据将会被验证。
· Application_AuthorizeRequest:当安全模块确认一个用户可以访问资源之后,该事件被触发。
· Session_Start:在一个新用户访问应用程序 Web 站点时,该事件被触发。
· Session_End:在一个用户的会话超时、结束或他们离开应用程序 Web 站点时,该事件被触发。

你可能感兴趣的:(.net)