现在的位置: 首页 > 综合 > 正文

3、ASP.NET页面剖析

2012年12月02日 ⁄ 综合 ⁄ 共 4629字 ⁄ 字号 评论关闭

1、导致ASP.NET应用程序重启的原因
  1、达到了动态页面编译的最大限度。该限度可以在web.config文件中进行配置
  2、Web应用程序的物理路径被更改,或者其中的任何目录被重命名
  3、应用程序根目录下的global.asax、machine.config、web.onfig,或Bin目录(包括其子目录)中的文件被更改
  4、代码安全访问策略文件被更改(如果该文件存在)
  5、某个内容目录中的太多文件发生了更改(如果这些文件是在被请请求时实时生成的,一般会发生这种情况)
  6、用于控制ASP.NET工作线程的重启/关闭设置被更改。如果不使用Windows Server 203 的IIS 6.0 进程模式,这些设置会从machine.config 中获取。如果完全利用IIS 6.0 ,那么更改IIS管理器的【应用程序池】节点便会重启相应的程序
2、页面处理的指令
  @Assembly:用于将程序集链接到当前页面或用户控件上
  @Control:用于定义控件特有的属性(Attribute),这些属性会控制控件编译器的行为
  @Implements:用于指示当前页面或者当前用户控件实现指定的.NET Framework 接口
  @Import:用于显示的将命名空间导入到页面或者用户控件中
  @Master:用于指示将当前页面标识为ASP.NET 模板页。ASP.NET 1.x不支持该指令
  @MasterType:当通过Master属性(property)访问ASP.NET 模板页时,它会为该模板页提供一种创建强类型引用的方式。ASP.NET 1.x不支持该指令
  @OutputCache:用于控制页面或者用户控件的输出缓存策略
  @Page:用于定义页面特有的属性,以便于控制处理该页面的页面编辑器和语言解析器的行为
  @PreviousPageType:提供了一种获取之前页面强类型的引用的方式,通过PreviousPage属性便可以对之前的页面进行访问
  @Reference:用于将页面或者用户控件链接到当前页面或者用户控件上
  @Register:用于在页面或控件中创建自定义的标签。新的标签(包括前缀和名称)会将命名控件和用户自定义的控件关联起来
3、@Page指令
  只能在.aspx页面中使用,且最多只能包含一个
  用于页面编译的@Page指令属性:
    ClassName:用于指定页面被动态请求时动态生成的类的名称,它必须是不带命名空间信息的类名
    CodeFile:用于指示当前页面代码隐藏类的路径。该类文件必须被部署到Web服务器上。ASP.NET 1.x不支持该属性
    CodeBehind:Visual Studio.NET 2003使用的属性,用于指示当前页面代码隐藏类的路径。该类文件会被编译成可部署的程序集(对2.0或更高版本的ASP.NET来说,应该使用CodeFile属性)
    CodeFileBaseClass:用于指定页的基类及其关联的代码隐藏类的基类名称。该属性是可选的,但是如果使用了CodeFile属性,则必须指定该属性,ASP.NET 1.x不支持该属性
    CompilationMode:用于指示当前页面是否在运行时编译。ASP.NET 1.x不支持该属性
    CompilerOptions:用于编译当前页的一系列编译器命令行参数
    Debug:一个布尔值,用于指示是否应该使用调试符号编译该项
    Explicit:一个布尔值,用于确定在编译该页时是否将Visual Basic 的Option Explicit模式设置为On,Option Explicit 会强制编程人员显式声明所有变量。如果当前页所选的语言不是Visual Basic .NET,该属性会被忽略
    Inherits:用于定义当前页面要继承的基类,它可以为从Page类派生的任何类
    Language:用于在编译时提示内联代码块(<% . . . %>)和<script>区段中代码所使用的语言。支持的语言包括Visual Basic .NET、C#、JScript .NET和J#。如果没有另外指定,则使用默认设置Visual Basic .NET
    LinePragmas:用于指定运行时是否应在源代码中生存杂注(line pragma)
    MasterPageFile:用于指定当前页面的模板页。ASP.NET 1.x不支持该属性
    Src:用于指示包含实现Inherits指定的基类的源文件路径。Visual Studio和其他快速应用程序开发设计器(RAD)不适用该属性
    Strict:一个布尔值,用于确定在编译当前页时,是否将Visual Basic的Option Strict设为On 。 若开启Option Strict ,则只允许类型安全的转换,禁止可能导致数据丢失的隐形转换(在这种情况下,其行为和C#一致),如果当前页所选用的语言不是 Visual Basic.NET , 该属性将被忽略
    Trace:一个布尔值,用于指示是否开启跟踪功能。如果启用跟踪功能,额外的信息会被追加到页面的输出中,默认值为false
    TraceMode:当启用跟踪功能时,提示当前页面跟踪消息的方式。有效值为SortByTime 和 SortByCategory。默认为SortByTime
    WarningLevel:提示编译器的警告级别。当达到指定的级别,编译过程将终止,有效值为0~4
  用于页面行为的@Page指令属性:
    AspCompat:布尔值类型的属性,若设为true,则允许当前页面在单线程单元(STA)线程上执行,该设置使页能够调用COM+ 1.0组件 以及用Visual Basic 6.0开发的需要访问非托管ASP内置对象的组件
    Async:如果设置为true,则生成的页面类将派生于IHttpAsyncHandler,而不是使IHttphandler将某些内建的非同步功能添加到页中。ASP.NET 1.x不支持该属性
    AsyncTimeOut:用于定义处理异步任务时使用的超时时间(单位为秒),默认为45秒。ASP.NET 1.x不支持该属性
    AutoEventWireup:布尔类型的属性,用于指示是否启用页面的事件。默认为true。使用Visual Studio.NET开发的网页会将该属性设置为false,页面的事件会被分别绑定到处理程序上
    Buffer:布尔类型的属性,用于确定是否启用HTTP响应缓冲,默认值为true
    Description:用于提供当前页面的文本描述。ASP.NET解析器会忽略该属性,而只用作文档说明
    EnableEventValidation:布尔类型的属性,用于决定是否使当前页面生成一隐含字段,为支持事件数据验证的输入字段做缓冲,默认值为true。ASP.NET 1.x不支持该属性
    EnableSessionState:用于定义当前页面处理会话数据的方式。如果设置为true,则可以读/写会话状态。如果设为false,则应用程序无法使用会话数据。最后如果设为ReadOnly,则只能读取会话数据,而不能更改
    EnableViewState:布尔类型的属性,用于指示是否在页面请求见保持视图状态。视图状态是页面调用的上下文,用于保存往返过程之间当前页面状态值的集合
    EnableTheming,布尔类型的属性,用于指示当前页是否对嵌入的控件应用主题,默认值为true,ASP.NET 1.x不支持该属性
    EnableViewStateMac:布尔类型的属性,用于指示ASP.NET是否为特定的计算机生成身份验证码,并将其追加到页的视图状态中(除Base64编码)。属性名中的Mac代表"计算机身份验证检查"。若将该属性设置为true,则在回发时,ASP.NET会检查视图状态的身份验证码,以确保其在客户端上没有被篡改
    ErrorPage:定义一个目标URL,后者指向一个提示页,在页面发生未处理的异常时,用户会被重定向到该位置
    MaintainS成rollPositionO你Postback:用于指示是否在回发之后恢复客户端浏览器的滚动条的位置,默认为false
    SmartNavigation:布尔类型的属性,用于指示当前页是否支持Internet Explorer 5 或者更高版本的智能导航功能。智能导航使得页面刷新后不会失去滚得位置和元素焦点
    Theme,StyleSheetTheme:用于指示为当前页选择的主题(或样式表主题)。ASP.NET 1.x不支持该属性
    Transaction:用于指示当前页是否支持或需要事务。有效值为Disabled、NotSupported、Supported、Required和RequiresNew。默认情况下,事务支持是被禁用的
    ValidateRequest:布尔类型的属性,用于指示是否执行请求验证。如果设置为true,ASP.NET将根据一硬编码的潜在危险值列表对所有输入的数据进行检查。该功能有助于降低页面的跨站点脚本攻击风险。默认值为true。ASP.NET 1.x不支持该属性
    ViewStateEncryptionMode:用于指示视图加密的方式。有三个可能的值:Auto、Always和Never。默认为Auto,这表只有在控件要求时才加密视图状态。注意,每次请求的页面处理都加密视图数据,会对服务器造成一定的额外开销
  用于控制输出的@Page指令属性: 
    ClientTarget:用于指示ASP.NET服务器控件呈现其内容时所要面向的浏览器
    CodePage:用于指示相应的代码页值。只有在使用一个代码页创建该页(而不是使用运行该页的Web服务器的默认代码页)时,才设置该属性。在这种情况下,将属性设置为开发计算机的代码页。代码页是一个符号集合,包括数字、标点和其他符号。不同的语言代码页会有区别
    ContentType:用于将响应内容的类型定义为标准的MIME类型。支持任何有效的HTTP内容类型字符串
    Culture:用于指示当前页的区域性设置。区域性信息包括书写与排序系统、日历和货币格式。该属性值必须为区域性相关的名称,即它必须包含语言和国家信息。例如。en-us就是一个有效值,而en本身怎会被认为是国家不相关的
    LCID:32位的值,用于定义页的区域标识符。默认情况下,ASP.NET会使用Web服务器的区域设置
    ResponseEncoding:用于指示当前页面的编码方案名称。该值用于设置内容类型HTTP标头的CharSet属性。在内部,ASP.NET会将所有字符串按Unicode处理
    Title:用于指示当前页的标题。对于一般的页面作用不大,因为可以使用HTML的<title>标签,该属性的定义是为了帮助开发者在内容页不能访问<title>的情况下(这取决模板页的结构设计),为其设置标题   
    UICulture:用于指定资源管理器(Response Manager)使用的默认区域信息名称,以便在运行时查找区域特定的资源
4、@Assembly指令 

抱歉!评论已关闭.