ASP.NET页面揭秘(二)
这里主要谈谈Application类中的事件
由前一篇文章可以知道,一旦出现了HttpContext类的一个实例,HttpRuntime类就会建立一个ASP.NET应用程序对象来完成该请求。一个应用程序包括HttpApplication类的一个实例。HttpApplication是一个global.asax派生的对象,处理所有被传递给某个虚文件夹得Http请求。一个正在运行的ASP.NET运行程序完全由它的虚拟文件来表示,并选择性地global.asax文件来表示。虚拟文件夹名称是一种键,Http运行库用它来选择表示哪一个正在运行的应用程序应当负责输入请求。Global.asax包含一些设置和代码,用于响应ASP.NET引发的或者影响该应用程序的HTTP模块注册的应用程序级事件。只有完成请求以后才能重用HttpApplication的实例。如果没有HttpApplication对象可以使用,则创建一个新的HttpApplication对象,并把它放入到对象池中。
HttpApplication类的事件
HttpApplication_Start在Web应用程序的生命周期内只激发一次。它表示已经创建HttpApplication类的第一个实例,以启动服务它的第一个请求。Application_End只在应用程序被关闭时才被调用。
HttpApplication有许多事件,以下是按照事件先后激发顺序。
1. 对请求进行验证,将检查浏览器发送的信息,并确定其是否包含潜在恶意标记。
2. 如果已在 Web.config 文件的 UrlMappingsSection 节中配置了任何 URL,则执行 URL 映射
3. BeginRequest ASP.NET HTTP管道开始处理该请求。该事件在Application_Start之后到达应用程序。
4. AuthenticateRequest 正在验证请求。所有的内部ASP.NET验证模块都订阅该事件,并企图产生一个标识。如果没有一个验证模块产生一个已验证用户,则调用一个默认的内部验证模块,为这个未验证的用户产生一个标识。这么做是为了一致性,使该代码不必考虑null值。
5. PostAuthenticateRequest请求已被验证。所有可能的信息存储在HttpContext的User属性中。
6. AuthorizeRequest 即将发生请求授权。该事件通常被应用程序的代码进程处理,以根据业务逻辑或其它应用程序需求完成定制的授权。
7. PostAuthorizeRequest该请求已被授权
8. ResolveRequestCache ASP.NET运行库验证返回一个以前缓存的页面能否解决该请求。如果找到一个有效地缓存标识,则从该缓存中服务该请求,并缩短该请求的处理过程,只调用任何已注册的EndRequest处理程序。
9. PostResolveRequestCache 请求
相关文档:
1. 生成aspnet的权限数据表和sp,使用.net 2.0的命令如下:
C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727>aspnet_regsql -W
使用-W参数调出连接数据库向导,根据向导生成数据库数据。
2. 在web.config更改验证方式并添加providers
<configuration>
<connectionStrings>
<add name="dbConn ......
ASP.NET正则表达式集合
1.帐号由a~z的英文字母(不区分大小写)、0~9的数字、点、减号或下划线组成,长度为
3~18个字符,例如:kyzy_001
^[a-zA-Z0-9.-_]{3,18}$
2.输入框里必须为数字
^[0-9]{1,}$
3.电子邮件格式
\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*
4.要求文本框只能输入最多 ......
asp.net中此页的状态信息无效,可能已损坏的解决之道[转]
默认分类 2009-02-06 16:16:06 阅读137 评论0 字号:大中小
针对此问题网上有一种解决办法,就是在该工程中的web.config中添加如下代码: <pages enableEventValidation="False" viewStateEncryptionMode="Never" /> ,但也有很多加了这段语句后,还是出错 ......
1、基于ASP.NET技术的页面缓存
基于ASP.NET技术的页面缓存,通常有如下两种应用方式:
一、基于数据库触发(设置缓存依赖策略,当数据库中数据发生变化时,触发缓存失效;但微软提供的解决方案目前仅支持SQL Server,如果是ORACLE需要自己实现触发接口)。
二、基于文件依赖的策略(可以设置缓存依赖于文件中的具 ......
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using AlltripDLL;
public pa ......