ASP.NET

2025年3月17日 | 阅读 3 分钟

它是一个由 Microsoft 设计和开发的 Web 框架。 它用于开发网站、Web 应用程序和 Web 服务。 它提供了 HTML、CSS 和 JavaScript 的绝佳集成。 它于 2002 年 1 月首次发布。 它基于公共语言运行时 (CLR) 构建,并允许程序员使用任何受支持的 .NET 语言编写代码。

ASP.NET 是 Microsoft .NET Framework 的一部分。 下图显示了组件堆栈。

ASP Net 1

图: .NET framework 组件


ASP.NET 版本历史

下表显示了 ASP.NET 中包含的版本和功能。

日期版本
特点
2002 年 1 月 16 日1.0面向对象的 Web 应用程序开发,支持继承、多态和其他标准 OOP 功能。
2003 年 4 月 24 日1.1移动控件和自动输入验证。
2005 年 11 月 7 日2.0新的数据控件 (GridView, FormView, DetailsView)
用于声明性数据访问的新技术 (SqlDataSource, ObjectDataSource, XmlDataSource 控件)
导航控件
母版页
登录控件
主题
皮肤
Web 部件
个性化服务
完全预编译
新的本地化技术
支持 64 位处理器
提供程序类模型
2006 年 11 月 21 日3.0Windows Presentation Foundation (WPF)
Windows Workflow Foundation (WF)
Windows Communication Foundation,可以使用 ASP.NET 托管服务
Windows CardSpace,它使用 ASP.NET 进行登录角色
2007 年 11 月 19 日3.5新的数据控件 (ListView, DataPager)
ASP.NET AJAX 作为框架的一部分包含在内
支持 HTTP 管道和联合订阅源。
WCF 支持 RSS、JSON、POX 和部分信任
所有 .NET Framework 3.5 的更改,如 LINQ 等。
2008 年 8 月 11 日3.5 Service Pack1
合并 ASP.NET 动态数据
支持控制 ASP.NET AJAX 应用程序中的浏览器历史记录
能够将多个 JavaScript 文件组合成一个文件以进行更有效的下载
新的命名空间 System.Web.Abstractions 和 System.Web.Routing
2010 年 4 月 12 日4.0Page 类中添加的两个新属性是 MetaKeyword 和 MetaDescription。
2012 年 8 月 15 日4.5
2013 年 10 月 17 日4.5.1Bootstrap 3.0
Web API 2:OAuth 2.0、OData 改进、CORS
MVC 5:属性路由、身份验证过滤器和过滤器覆盖
EF 6
SignalR
OWIN
2014 年 5 月 5 日4.5.2更高的可靠性 HTTP 标头检查和修改方法
计划后台异步工作任务的新方法
2015 年 7 月 20 日4.6在 Windows 10 上运行时支持 HTTP/2
更多返回异步任务的 API

ASP.NET 提供了三种创建 Web 应用程序的开发风格

  1. Web 窗体
  2. ASP.NET MVC
  3. ASP.NET Web 页面

Web 窗体

它是一个事件驱动的开发框架。 它用于开发具有强大数据访问的应用程序。 它提供服务器端控件和事件来创建 Web 应用程序。 它是 ASP.NET 框架的一部分。 我们将在接下来的章节中进一步讨论它。

ASP.NET MVC

它为我们提供了一种基于 MVC(模型视图控制器)模式的方式来构建动态网站。 它实现了关注点的清晰分离,这使您可以完全控制标记,从而获得愉快的敏捷开发。 它还提供了许多功能,可实现快速开发以创建出色的应用程序。 我们将在接下来的章节中进一步讨论它。

ASP.NET Web 页面

它用于创建动态网页。 它提供了一种快速轻便的方式来将服务器代码与 HTML 结合起来。 它可以帮助添加视频,链接到社交网站。 它还提供了其他功能,例如您可以创建符合最新 Web 标准的美丽网站。

所有这些都是稳定且设备齐全的框架。 我们可以使用它们中的任何一个来创建 Web 应用程序。 这些也基于 .NET Framework,并共享 .NET 和 ASP.NET 的核心功能。

我们可以使用任何开发风格来创建应用程序。 风格的选择取决于程序员的技能和经验。

尽管每个框架都独立于其他框架,但我们可以在应用程序的任何级别组合和使用其中的任何一个。 例如,要开发客户端交互模块,我们可以使用 MVC,对于数据控制,我们可以使用 Web 窗体。

下表说明了每种开发模式。

模型技能开发风格经历
Web 窗体Win 窗体、WPF、.NET使用丰富的控件库快速开发,这些控件封装了 HTML 标记中级,高级 RAD
MVCRuby on Rails、.NET完全控制 HTML 标记、代码和标记分离,并且易于编写测试。 移动和单页应用程序 (SPA) 的最佳选择。中级,高级
Web 页面Classic ASP、PHPHTML 标记和您的代码在同一个文件中新,中级