我的编程空间,编程开发者的网络收藏夹
学习永远不晚

ASP.NET页面对象模型简介

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

ASP.NET页面对象模型简介

本篇内容主要讲解“ASP.NET页面对象模型简介”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“ASP.NET页面对象模型简介”吧!

ASP.NET页面对象模型简介

Microsoft Internet 信息服务 (IIS) 所收到的对某 Microsoft ASP.NET 页面的每个请求都被移交给 ASP.NET HTTP 管线。HTTP 管线由一系列托管对象组成,这些对象按顺序处理该请求,并完成从 URL 到普通 HTML 文本的转换。HTTP 管线的入口点是 HttpRuntime 类。ASP.NET 基础结构为辅助进程中所承载的每个 AppDomain 创建此类的一个实例(请注意,该辅助进程为当前正在运行的每个 ASP.NET 应用程序维护一个不同的 AppDomain)。

HttpRuntime 类从内部池中选取一个 HttpApplication 对象,并让其处理该请求。HTTP 应用程序管理器所完成的主要任务就是找出将实际处理该请求的类。如果请求 .aspx 资源,则处理程序就是一个页面处理程序 — 即某个继承自 Page 的类的一个实例。资源类型和处理程序类型之间的关联关系存储于该应用程序的配置文件中。更准确地说,在 machine.config 文件的 < httpHandlers> 部分中定义默认的一组映射关系。然而,应用程序也可以在本地的 web.config 文件中自定义自己的 HTTP 处理程序列表。下面的程序行举例说明了定义用于 .aspx 资源的 HTTP 处理程序的代码。

< add verb="*" path="*.aspx" type="System.Web.UI.PageHandlerFactory"/>

扩展名可关联到一个处理程序类,或者更普遍地关联到一个处理程序工厂 (handler factory) 类。在所有情况下,负责处理请求的 HttpApplication 对象都会获得一个实现 IHttpHandler 接口的对象。如果根据 HTTP 处理程序来解析关联资源/类,那么所返回的类将直接实现该接口。如果资源绑定到处理程序工厂,则需要另外一个步骤。处理程序工厂类实现 IHttpHandlerFactory 接口,而该接口的 GetHandler 方法返回一个基于 IHttpHandler 的对象。

HTTP 运行时如何能完成整个循环并处理页面请求呢?IHttpHandler 接口特别提供了 ProcessRequest 方法。通过对代表所请求页面的对象调用此方法,ASP.NET 基础结构启动相应过程,从而针对浏览器生成输出。

ASP.NET页面对象模型:Page类

特定页面的 HTTP 处理程序类型取决于 URL。当***调用 URL 时,将构建一个新类并将该类动态地编译成一个程序集。用于检查 .aspx 来源的语法分析过程的输出结果就是该类的源代码。该类被定义为 ASP 命名空间的一部分,并被赋予一个与原始 URL 相似的名称。例如,如果 URL 终结点是 page.aspx,则类名称为 ASP.Page_aspx。但是,也可通过编程设置 @Page 指令的 ClassName 属性来控制类的名称。

HTTP 处理程序的基类是 Page。此类定义了所有页面处理程序所共享的方法和属性的最小集合。Page 类中实现 IHttpHandler 接口。

在某些情况下,实际处理程序的基类并非 Page,而是一个不同的类。例如,如果使用了代码隐藏,就会出现这种情况。代码隐藏是一种开发方法,它将页面所需的代码封装到一个单独的 C# 或 Microsoft Visual Basic.NET 类中。页面的代码就是一组事件处理程序和帮助器方法,用以实际创建该页面的行为。可以利用 < script runat=server> 标记将这种代码定义为内联代码,或者也可将其放到一个外部类 — 代码隐藏类中。代码隐藏类是一种继承自 Page 的类,但这种类具有一些额外的方法因而比较特殊。如果指定,代码隐藏类就用作 HTTP 处理程序的基类。

还有一种情况,即当应用程序配置文件的 < pages> 部分中重新定义了 PageBaseType 属性时,HTTP 处理程序也不是基于 Page 的。

< pages PageBaseType="Classes.MyPage, mypage" />

PageBaseType 属性指出了包含页面处理程序的基类的类型以及程序集。派生自 Page 的这个类可自动给处理程序赋予一组自定义和扩展的方法和属性。

到此,相信大家对“ASP.NET页面对象模型简介”有了更深的了解,不妨来实际操作一番吧!这里是编程网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

ASP.NET页面对象模型简介

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

ASP.NET页面对象模型简介

本篇内容主要讲解“ASP.NET页面对象模型简介”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“ASP.NET页面对象模型简介”吧!ASP.NET页面对象模型简介Microsoft Interne
2023-06-18

ADO对象模型的简单介绍

本篇内容介绍了“ADO对象模型的简单介绍”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!ADO对象模型是ActiveX Data Object
2023-06-17

C#扩展性对象模型介绍

这篇文章主要讲解了“C#扩展性对象模型介绍”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“C#扩展性对象模型介绍”吧!C#扩展性对象模型Visual Studio .NET 包含一个可编程、非
2023-06-17

Golang面向对象编程简介及实践

Golang是一种由Google开发的开源编程语言,它具有高效的并发特性和简洁直观的语法,因此受到了广泛的关注和应用。在Golang中,虽然没有传统的类和继承的概念,但是通过结构体和方法的组合,我们依然可以实现面向对象编程的思想。本文将简要
Golang面向对象编程简介及实践
2024-02-28

PHP5.0对象模型的属性和方法介绍

本篇内容主要讲解“PHP5.0对象模型的属性和方法介绍”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“PHP5.0对象模型的属性和方法介绍”吧!今天我们向大家介绍的是关于PHP5.0对象模型的属性
2023-06-17

web前端:JS面向对象——工厂模型

编程学习网:某种意义上,程序设计的出现甚至早于电子计算机的出现。英国著名诗人拜伦的女儿爱达·勒芙蕾丝曾设计了巴贝奇分析机上计算伯努利数的一个程序。她甚至还创建了循环和子程序的概念。由于她在程序设计上的开创性工作,爱达·勒芙蕾丝被称为世界上第一位程序员。
web前端:JS面向对象——工厂模型
2024-04-23

数据库模型的进化论:从关系模型到面向对象模型再到云端模型

数据库模型经历了从关系模型到面向对象模型再到云端模型演变。每种模型都有其独特的特点和优势,关系模型以其良好关系和较成熟的技术,面向对象关系模型以其更高的抽象能力受到多个领域的青睐,云端模型在云计算领域有很大潜力。
数据库模型的进化论:从关系模型到面向对象模型再到云端模型
2024-02-11

C++ 虚拟函数与对象模型:深入理解面向对象设计

虚拟函数允许子类覆盖基类的函数,实现多态行为。它改变了对象模型,允许子类修改基类方法的实现。实战案例中,shape 基类定义了 draw() 方法,而子类 rectangle 和 circle 覆盖此方法以提供不同的绘制实现。好处包括多态性
C++ 虚拟函数与对象模型:深入理解面向对象设计
2024-04-29

深入理解Go语言的面向对象模型

go 语言通过对象、类型和接口提供面向对象编程(oop)支持。对象是匿名类型,类型是隐式类,接口定义对象行为,而继承则通过类型嵌入实现。实战案例:使用 oop 创建一个学生管理系统,其中学生类型实现 speaker 接口,而学生管理类型通过
深入理解Go语言的面向对象模型
2024-04-04

C++ 函数模板详解:面向对象和泛型编程的融合

函数模板融合了面向对象编程和泛型编程,允许创建可重用、面向不同数据类型的代码:面向对象:通过类和对象组织代码,函数模板使面向对象代码更灵活,可为不同类型编写函数版本。泛型:独立于特定数据类型,函数模板提供适用于任何类型数据的算法。实战:以栈
C++ 函数模板详解:面向对象和泛型编程的融合
2024-04-26

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录