ASP.NET 学习总结
1、什么是 ASP.NET 框架?
ASP.NET 是微软在2000年发布的一个免费的 Web 框架,可以使用 HTML、CSS 和 JavaScript 构建出色的网站和 Web 应用程序。还可以创建 Web API (应用程序接口)并使用 Web套接字等实时技术。ASP.NET 框架支持使用 C# 和 Visual Basic 两种语言进行开发。
2、ASP.NET 框架的安装
ASP.NET 框架的安装无法通过命令行的方式进行,我们可以通过在开发工具 Visual Studio 上手动创建。
3、三种开发模式
在 ASP.NET 框架中提供了三种用于开发 Web 的模式,分别为 Web Forms(Web窗体)、MVC(Model View Controller 模型-视图-控制器)和 Web Pages(单页应用程序)。这三个框架都稳定且成熟,你可以使用其中任何一个框架创建出色的 Web 应用程序。 无论你选择哪种框架,你都会随时随地获得 ASP.NET 的所有优势和功能。
3.1、Web Forms(Web 窗体)
Web Forms 又称 Web 窗体。在这个模式下你可以以传统的拖拽事件驱动模型的方式来生成动态网站,同时利用设计图面以及许多控件和组件,你可以迅速生成带有数据访问的高级的、功能强大的 UI 驱动型网站。但是需要注意的是 Web 窗体开发的模式在现在已经过时,学习价值已经不大了。
3.2、MVC(Model View Controller 模型-视图-控制器)
Web Forms 又称 Web 窗体。在这个模式下你可以以传统的拖拽事件驱动模型的方式来生成动态网站,同时利用设计图面以及许多控件和组件,你可以迅速生成带有数据访问的高级的、功能强大的 UI 驱动型网站。但是需要注意的是 Web 窗体开发的模式在现在已经过时,学习价值已经不大了。
3.3、Web Pages(单页应用程序)
Web Pages 也即单页应用程序,指的是只有一个 Web 页面的应用。在这个模式中你可以使用 C# (或 Visual Basic) 结合网页的 Razor 标记语法将 C# (Visual Basic)代码嵌入到网页当中,实现 C#(Visual Basic)代码和 HTML 、CSS 、JavaScript 等服务器代码的结合。值得一提的是单页应用程序的开发模式是 ASP.NET 框架三种开发模式种最简单的一种,如果你是个新手,那Web Pages 单页应用程序开发模式是你入门的不错选择。
4、Web API(Web 应用程序接口)
ASP.NET Web API 是专门用于构建面向控制器 API 的应用程序,用于轻松构建可以访问多种客户端(包括浏览器和移动设备)的 HTTP 服务。Web API 强调在数据访问层和表示层之间提供通信机制,即 Web API 通常被用于在 Web 应用程序和其他应用程序之间共享数据,服务于数据访问的需要。ASP.NET Web API 是用于在 .NET Framework 上搭建基于 RESTful 风格的前后端分离架构的应用程序的理想平台。
5、语言特点
5.1多语言支持
多语言支持是ASP.NET的重要新特性之一,主要表现在所支持的编程语言种类多和单个语言功能强两个方面。首先,ASP.NET为Web应用提供一种类似于Java编译技术的“二次编译技术”——中间语言MSIL(Microsoft Intermediate Language)执行架构,先将ASP.NET应用编译成MSIL,再将MSIL编译成机器语言执行。这样,只要能被编译成MSIL的编程语言都可以用来编写ASP.NET应用。
其次,ASP.NET所支持的编程语言是指这种语言的功能全集(而不是子集),所以,ASP.NET中每种编程语言的功能要比ASP中使用的VB script和Java Script更为强大。
5.2增强的性能
在ASP.NET中,页面代码是被编译执行的,它利用提前绑定、即时编译、本地优化和缓存服务来提高性能。当第一次请求一个页面时,cLR对页面程序代码和页面自身进行编译,并在高速缓存cache中保存编译结果的副本。当第二次请求该页面时,就直接使用cache中的结果(无需再次编译)。这就大大提高了页面的处理性能。
5.3 类和名空间
ASP.NET包含一整套有用的类和名空间(Namespaces)。名空间被用做一种有组织的机制——一种表示可用于其他程序和应用的程序组件的方法。名空间包含类。和类库一样,名空间可以使Web应用程序的编写变得更加容易。HtmlAnchor、HtmlContrl以及HtmlForm是ASP.NET中的几个类,它们被包含System.web.UI.HtmlControl空间中。
5.4服务器控件
ASP.NET提供了许多功能强大的服务器控件,这大大简化了web页面的创建任务。这些服务器控件提供从显示、日历、表格到用户输入验证等通用功能,它们自动维护其选择状态,并允许服务器端代码访问和调用其属性、方法和事件。因此,服务器控件提供了一个清晰的编程模型,使得Web应用的开发变得简单、容易。
5.5支持web服务
ASP.NET提供了强大的、标准化的web服务支持能力,通过使用Internet标准,可以将一个web服务和其他web服务集成在一起。web服务提供了构建分布式web应用的基本模块。ASP.NET允许使用和创建web服务。
5.6更高的安全性
与ASP相比,在支持常规windows身份验证方法的基础上,ASP.NET还提供了Passport和cookie两种不同类型的登录和身份验证方法。同时,ASP.NET还采用了基于角色的安全模式,为不同角色的用户指定不同的安全授权。另一方面,ASP.NET还使得创建基于页面的身份验证工作变得更为简单。
5.7良好的可伸缩性
在ASP.NET中,允许使用跨服务器会话(Cross - Server Sessions),其会话状态可以被另一台机器或另一个数据库上的其他的进程所维护。随着信息处理和传输流量的增加,可以为系统添加更多的Web服务器。
5.8无Cookie会话
即使在浏览器不允许使用cookie的情况下,ASP.NET仍然能够使用户使用会话状态。与带cookie的会话不同,无cookie会话是通过URL将会话标识(SessionID)传递到ASP.NET页面的。
6、语言基础
6.1Request
Request封装了客户端请求信息。Request的常见属性如下:
6.2Response
Response代表了服务器响应对象。每次客户端发出一个请求的时候,服务器就会用一个响应对象来处理这个请求,处理完这个请求之后,服务器就会销毁这个相应对象,以便继续接受其它客服端请求。
Response常用属性如下:
6.3Response常用方法
6.4Server
Server对象是用于获取服务器的相关信息的对象。它常用方法如下:
6.5Session对象
内置对象Session负责存储、读取和改变一个特定用户的会话信息,对于每个用户的每次访问Session对象都是唯一的。
6.6Application对象
是一个集合对象,并在整个ASP.NET网站内可用,不同的用户在不同的时间都可以访问Application对象的变量。由于它是一个内置对象,所以使用它的时候与使用Response对象和Request对象类似,不需要进行任何对象的实例化,就可以直接使用。