当前位置: 首页 > 工具软件 > ASP.NET > 使用案例 >

C#学习之ASP.NET概述

姚培
2023-12-01

ASP.NET的应用:网络应用程序开发

学习ASP.NET的优势:
  1. 易学
  2. 设计人员和后台代码人员专注于自己的工作(原因:ASP.NET将HTML页面代码和脚本代码分离)
  3. 高效地创建大规模的网络应用程序

背景:自从互联网的出现,各种网络开发技术层出不穷。软件行业中,比较著名的技术有Java阵营的Java Web和.NET阵营的ASP.NET。相比于Java Web,ASP.NET的结构不紊乱,具有良好的组织结构。

动态网页

动态网页是针对于静态网页而言的,动态网页是ASP.NET的实现基础。使用Java技术实现动态网页可以通过JSP或者Servlet。

动态网页的优势:提供用户和网络的交互功能。

动态网页的特点:有后台。通过前台用户输入的信息,后台处理代码操作数据库,再返回给前台用户结果。

在这里之所以提及动态网页,是因为后面学习的ASP.NET网页的运行原理和动态网页相似,但是两者并不是完全相同,ASP.NET网页基于.NET Framework框架编译执行。

.NET Framework框架

.NET Framework主要分为两大部分,即公共语言运行时和基础类库。这两个部分让ASP.NET网站在编译模式下执行,而不是像ASP那样执行。.NET Framework框架类似于Java框架,但是.NET Framework的编译执行技术加快了网页浏览的速度。

为什么基于.NET Framework框架的网站比Java Web网站或者ASP网站快呢?

因为ASP.NET网站在.NET Framework中被编译成一种中间语言(Intermediate Language,简称IL)

.NET Framework中的中间语言IL的优势:使用中间语言的执行模式,就可以使用各种.NET平台支持的语言开发ASP.NET网站。

Web服务机制

为什么使用Web服务机制?

只有提供Web服务机制,才能使用各种Web服务器进行访问。

最常见的Web服务平台是微软公司的互联网信息服务(Internet Information System,IIS)和Apache。因为IIS和ASP.NET都是微软进行开发的,所以IIS和ASP.NET配合地非常默契。Apache平台主要为Java提供Web平台,熟悉Java Web开发的一定对Tomcat比较熟悉。Apache其实对ASP.NET也进行了支持,但是选择ASP.NET开发网站的开发人员大部分还是选择IIS做他们的Web服务。

Web服务必须遵循一定的网页交互协议。如比较常见的HTTP(超文本传输协议)和FTP协议(文件交换协议)。只有遵循了HTTP协议,才能使用Web浏览器对Web服务进行访问。

Web浏览器通过HTTP协议与Web服务交互,我们选择IIS作为Web服务,IIS又与ASP.NET应用交互。

如何评价Web服务的好坏?

  1. 标准的调用方式(标准的调用方式可以减少调用错误的次数,从而提高服务器的运行效率)
  2. 简单的协议
  3. 兼容各种平台
  4. 多用户连接时,保持良好、稳定的性能
  5. 具有很强的安全性能

因为IIS和ASP.NET直接交互,所以,用ASP.NET技术开发的Web服务程序是ASP.NET网站稳定运行的保证。

ASP.NET程序结构

目前大多数ASP.NET网站都使用三层B/S架构开发,使用这种开发主要分为3个部分。

  1. 表现层(将业务逻辑层处理的结果显示出来的程序代码)
  2. 业务逻辑层(实现各种业务需求的程序代码)
  3. 数据逻辑层(与数据库交互的程序代码)

以查询为例,用户通过表现层输入查询条件,传输到业务逻辑层统计、分析,再传输到数据操作层取出数据,返回到业务逻辑层,再返回到表现层,显示给用户。

ASP.NET与ASP

ASP.NET的前身是ASP,即Active Server Page,动态服务器网页。ASP.NET相比于ASP,是全面的升级。升级的主要内容是拥有了.NET Framework的加持。

ASP.NET相比于ASP,有更多的优势,具体有以下表现:

  1. 编译执行的效率更高(.NET Framework需要编译成中间语言)
  2. 多种语言加持(.NET Framework需要编译成中间语言)
  3. 丰富的类库和组件(.NET Framework提供了更多的类库和组件)
  4. 页面代码和处理代码分离(三层架构的设计思想)

ASP.NET另一方面,也兼容ASP,所以,可以在ASP.NET网站中,可以随意编写ASP的代码。、

ASP.NET与JSP

JSP在业界受到广泛支持,所以,业界有许多支持的框架,如Java开发工程师熟悉的Structs、SpringMVC等。但使用ASP.NET开发的框架只有.NET Framework。

但ASP.NET相比于JSP,有以下几种特点:

  1. 单一的支持架构
  2. 更快的运行速度。JSP的解释性和Servlet的响应式相比于.NET Framework的编译执行方式和HTTP对象响应模式,速度比较慢。
  3. 较强的数据库对象。ASP.NET的ADO.NET比JDBC具有更强大的功能和可拓展性
  4. 广泛的语言支持
  5. 丰富的类库
  6. 支持服务器集群
  7. 优秀的编程IDE加持
ASP.NET相关的技术

脚本语言、XML语言和一门.NET编程语言、LINQ(语言集成查询,Language INtegrated Query)

常见面试题

  1. ASP.NET和ASP的异同点?
    • 相同点:都是网络技术,而不是开发语言
    • 不同点:ASP.NET是基于.NET框架的网络应用技术,而ASP仅仅是包含VBScript和一些微软ActiveX插件的早期网络技术。ASP.NET可以通过Virtual Studio提供的开发工具和控件,可以快速开发各种类型的网络应用程序
  2. 简述.NET的结构和工作原理?
    • 结构:.NET封装了常见的类库、提供了一个公共语言运行时引擎(类似于Java中的JDK提供的类库和JVM运行环境)
    • 工作原理:.NET支持语言编译成中间语言IL,IL通过JIT编译成机器码由机器执行
  3. ASP.NET开发需要了解哪些网络技术?
    • HTML界面标签组件(界面显示)
    • JavaScript脚本(实现界面动态效果)
环境配置

环境:

  1. Web服务:IIS
  2. 开发IDE:Virtual Studio
  3. 框架环境:.NET Framework

使用Virtual Studio创建第一个网站。

常见面试题

  1. IIS解决不能运行ASP.NET的方法?
  2. 概括SQL Server、IIS和ASP.NET的安全问题?
 类似资料: