ASP.NET中的HTTP模块和处理程序(4)
点击次数:25 次 发布日期:2008-11-26 14:47:37 作者:源代码网
|
源代码网推荐 源代码网推荐 维护对话状态是Web应用程序执行的最通常的事务。HTTP处理程序也需要访问这些对话状态。但是HTTP处理程序的默认设置是没有激活对话状态的。为了读取和/或写入状态数据,需要HTTP处理程序实现下面的接口之一: 源代码网推荐 源代码网推荐 · IRequiresSessionState 源代码网推荐 源代码网推荐 · IReadOnlySessionState. 源代码网推荐 源代码网推荐 当HTTP处理程序需要读写对话数据的时候,它必须实现IRequiresSessionState接口。如果它只读取对话数据,实现IReadOnlySessionState接口就可以了。 源代码网推荐 源代码网推荐 这两个接口都是标记接口,并没有包含任何方法。因此,如果你希望激活NewHandler处理程序的对话状态,要像下面的代码一样声明NewHandler类: 源代码网推荐 源代码网推荐 public class NewHandler : IHttpHandler, IRequiresSessionState 源代码网推荐 源代码网推荐 HTTP模块 源代码网推荐 源代码网推荐 HTTP模块是实现了System.Web.IhttpModule接口的.NET组件。这些组件通过在某些事件中注册自身,把自己插入ASP.NET请求处理管道。当这些事件发生的时候,ASP.NET调用对请求有兴趣的HTTP模块,这样该模块就能处理请求了。 源代码网推荐 源代码网推荐 HTTP模块实现了IhttpModule接口的下面一些方法: 源代码网推荐 源代码网推荐 方法名称 描述 源代码网推荐 Init 这个方法允许HTTP模块向HttpApplication 对象中的事件注册自己的事件处理程序。 源代码网推荐 Dispose 这个方法给予HTTP模块在对象被垃圾收集之前执行清理的机会。 源代码网推荐 源代码网推荐 HTTP模块可以向System.Web.HttpApplication对象暴露的下面一些方法注册: 源代码网推荐 源代码网推荐 事件名称 描述 源代码网推荐 AcquireRequestState 当ASP.NET运行时准备好接收当前HTTP请求的对话状态的时候引发这个事件。 源代码网推荐 AuthenticateRequest 当ASP.NET 运行时准备验证用户身份的时候引发这个事件。 源代码网推荐 AuthorizeRequest 当ASP.NET运行时准备授权用户访问资源的时候引发这个事件。 源代码网推荐 BeginRequest 当ASP.NET运行时接收到新的HTTP请求的时候引发这个事件。 源代码网推荐 Disposed 当ASP.NET完成HTTP请求的处理过程时引发这个事件。 源代码网推荐 EndRequest 把响应内容发送到客户端之前引发这个事件。 源代码网推荐 Error 在处理HTTP请求的过程中出现未处理异常的时候引发这个事件。 源代码网推荐 PostRequestHandlerExecute 在HTTP处理程序结束执行的时候引发这个事件。 源代码网推荐 PreRequestHandlerExecute 在ASP.NET开始执行HTTP请求的处理程序之前引发这个事件。在这个事件之后,ASP.NET 把该请求转发给适当的HTTP处理程序。 源代码网推荐 PreSendRequestContent 在ASP.NET把响应内容发送到客户端之前引发这个事件。这个事件允许我们在内容到达客户端之前改变响应内容。我们可以使用这个事件给页面输出添加用于所有页面的内容。例如通用菜单、头信息或脚信息。 源代码网推荐 PreSendRequestHeaders 在ASP.NET把HTTP响应头信息发送给客户端之前引发这个事件。在头信息到达客户端之前,这个事件允许我们改变它的内容。我们可以使用这个事件在头信息中添加cookie和自定义数据。 源代码网推荐 ReleaseRequestState 当ASP.NET结束所搜有的请求处理程序执行的时候引发这个事件。 源代码网推荐 ResolveRequestCache 我们引发这个事件来决定是否可以使用从输出缓冲返回的内容来结束请求。这依赖于Web应用程序的输出缓冲时怎样设置的。 源代码网推荐 UpdateRequestCache 当ASP.NET完成了当前的HTTP请求的处理,并且输出内容已经准备好添加给输出缓冲的时候,引发这个事件。这依赖于Web应用程序的输出缓冲是如何设置的。 源代码网推荐 源代码网推荐 除了这些事件之外,我们还可以使用四个事件。我们可以通过实现Web应用程序的global.asax文件中一些方法来使用这些事件。 源代码网推荐 源代码网推荐 这些事件是: 源代码网推荐 源代码网推荐 · Application_OnStart 源代码网推荐 源代码网推荐 当第一个请求到达Web应用程序的时候引发这个事件。 源代码网推荐 源代码网推荐 · Application_OnEnd 源代码网推荐 源代码网推荐 准备终止应用程序之前引发这个事件。 源代码网推荐 源代码网推荐 · Session_OnStart 源代码网推荐 源代码网推荐 用户对话的第一个请求引发这个事件。 源代码网推荐 源代码网推荐 · Session_OnEnd 源代码网推荐 源代码网推荐 放弃对话或者对话超期的时候引发这个事件。 源代码网推荐 做人要厚道,请注明转自酷网动力(www.ASPCOOL.COM)。 源代码网推荐 源代码网供稿. |
