软件测试开发技术ASP.NET底层架构的处理请求[2]

发表于:2009-08-13来源:作者:点击数: 标签:软件测试架构Asp底层Net
软件 测试 开发 技术ASP.NET底层架构的处理请求[2] .NET网站架构 关键字:ASP.NET 架构 个类直接继承自HttpApplication: public class Global : System.Web.HttpApplication HttpApplication的主要职责是作为Http管道的事件控制器,所以它的接口主要包含的是
软件测试开发技术ASP.NET底层架构的处理请求[2] .NET网站架构

关键字:ASP.NET 架构

  个类直接继承自HttpApplication:

  public class Global : System.Web.HttpApplication

  HttpApplication的主要职责是作为Http管道的事件控制器,所以它的接口主要包含的是事件.事件挂接是非常广泛的,包括以下这些:

  ·BeginRequest

  ·AuthenticateRequest

  ·AuthorizeRequest

  ·ResolveRequestCache

  ·AquireRequestState

  ·PreRequestHandlerExecute

  ·…Handler Execution…

  ·PostRequestHandlerExecute

  ·ReleaseRequestState

  ·UpdateRequestCache

  ·EndRequest

  每个事件在Global.assx文件中以Application_前缀开头的空事件作为实现.例如, Application_BeginRequest(), Application_AuthorizeRequest()..这些处理器为了便于使用而提供因为它们是在程序中经常被使用的,这样你就不用显式的创建这些事件处理委托了。

  理解每个ASP.NET虚拟目录在它自己的应用程序域中运行,而且在应用程序域中有多个从ASP.NET管理的池中返回的HttpApplication实例同时运行,是非常重要的,这是多个请求可以被同时处理而不互相妨碍的原因。

  查看列表4来获得应用程序域,线程和HttpApplication之间的关系。

  列表4-显示应用程序域,线程和HttpApplication实例之间的关系。

  private void Page_Load(object sender, System.EventArgs e)

  {

  // Put user code to initialize the page here

  this.ApplicationId = ((HowAspNetWorks.Global) HttpContext.Current.ApplicationInstance).ApplicationId ;

  

原文转自:http://www.ltesting.net