The Wayback Machine - https://web.archive.org/web/20221028214519/https://baike.sogou.com/kexue/d10114.htm

ASP.NET

编辑

ASP.NET是一个开源[1] 的服务器端网络应用框架,设计用于网络web开发以产生动态网页。它是由微软开发的,并允许程序员建立动态网站、网络应用程序和网络服务。

它于2002年1月首次发布,版本为1.0。NET框架,是微软动态服务网页(Active Server Pages,ASP)技术的继承。ASP.NET建立在公共语言运行库(CLR)之上,允许程序员使用任何支持ASP.NET代码的NET语言进行编写。ASP.NET SOAP扩展框架允许ASP.NET组件处理SOAP消息。

ASP.NET的继承者是ASP.NET核心。这是ASP.NET作为模块化网络框架以及实体框架等其他框架的重新实现。新框架使用了新的开源软件.NET编译器平台(代号“Roslyn”),并且是跨平台的。ASP.NET MVC、ASP.NET网络应用编程接口和ASP.NET网页(一个只使用 Razor 页面的平台)已经合并成一个统一的MVC 6。[2]

1 编程模型编辑

ASP.NET支持许多用于构建web应用程序的编程模型:[3]

  • ASP.NET——用组件构建模块化页面的框架,用户界面事件在服务器端处理。
  • ASP.NET MVC——允许使用模型-视图-控制器设计模式构建网页。
  • ASP.NET Web Pages——直接在超文本标记语言中添加动态代码和数据访问的轻量级语法。[4]
  • ASP.NET API(网络应用程序接口)—一个在.NET框架之上构建的Web API框架。[5]
  • ASP.NET Webhook —实现了通过http超文本传输协议订阅和发布事件的网络回调模式。
  • 信号器——客户端和服务器之间双向通信的实时通信框架。

其他ASP.NET扩展包括:

  • ASP.NET处理器:是实现System.Web.IHttpHandler界面的组件。与ASP.NET网页不同,它们没有超文本标记(html)文件,没有事件和其他支持。他们只有一个代码文件(用任何.NET兼容语言),它将一些数据写入服务器的HTTP响应。HTTP处理程序类似于lSAPI扩展。
  • ASP.NET AJAX:包含客户端和服务器端组件的扩展,用于编写包含AJAX功能的ASP.NET页面。
  • ASP.NET动态数据:构建数据驱动的网络应用程序的脚手架扩展

2 IIS集成传输路线编辑

在IIS 6.0和更低版本上,使用不同版本的ASP框架编写的页面在不使用第三方库的情况下无法共享会话状态。这不适用于在IIS 7上并行运行的ASP.NET和ASP应用程序。使用IIS 7.0,模块可以在集成传输路线中运行,该集成传输路线允许针对任何执行请求使用任何语言编写的模块。[6]

3 开发工具编辑

有几种可用于开发ASP.NET应用程序的软件包:

软件 开发者 批准
Visual Studio Code Microsoft and community 免费开放源码
Microsoft Visual Studio Microsoft 免费和商业
Microsoft Visual Web Developer Express Microsoft 注册软件
CodeGear Delphi Embarcadero Technologies 商业的
Macromedia HomeSite Adobe系统 商业的
Microsoft Expression Web Microsoft 免费
Microsoft SharePoint Designer Microsoft 免费
MonoDevelop Xamarin和Mono社区 免费开源
Adobe Dreamweaver Adobe系统 商业的
SharpDevelop ICSharpCode Team 免费开源
Rider JetBrains 所有人

4 第三方框架编辑

在与ASP.NET合作开发时,并不需要使用标准的网络表单开发模型。为该平台设计的值得注意的框架包括:

  • 基础组件库(Base One Foundation Component Library,BFC)是用于构建.NET数据库和分布式计算应用程序的RAD框架。
  • DotNetNuke是一个开源解决方案,它提供了一个网络应用框架和一个内容管理系统,允许通过模块、外观和提供者进行高级扩展。
  • 城堡单轨(Castle MonoRail),一个开源的MVC框架,其执行模型类似于Ruby on Rails。该框架通常与城堡活动记录(Castle ActiveRecord)一起使用,这是一个建立在NHibernate之上的ORM层。

5 版本编辑

ASP.NET发布的历史记录与NET框架版本紧密相关:

日期 版本 评论 新ASP.NET相关功能
2002年1月16日 1.0 第一版

与Visual Studio.NET一起发布

·面向对象的网络应用程序开发支持继承、多态和其他标准。

·基于windows编程;由于开发人员不再被迫使用服务器创建对象Server.CreateObject (...),因此早期绑定和类型安全是可能的。

·开发人员可以利用动态链接库(DLL)和网络服务器的其他特性来构建更完善的应用程序,这些应用程序不仅仅是简单地呈现Html (例如异常处理)

2003年4月24日 1.1 与Windows Server 2003一起发布与Visual Studio.NET一起发布2003 ·移动控件

·自动输入验证

2005年11月7日 2.0 代号Whidbey

与Visual Studio 2005和SQL Server 2005

一起发布

·新数据控件(GridView、FormView、DetailsView)

·声明性数据访问的新技术(SqlDataSource、ObjectDataSource、、XmlDataSource控件)

·导航控件

·主控页

·登录控件

·主题

·外观

·Web部件

·个性化服务

·完整的预编译

·新的定位技术

·支持64位处理器

·提供者类模型

2006年11月21日 3.0 ·Windows演示基础 (WPF)

·Windows工作流基础 (WF)

·Windows通讯基础,可以使用ASP.NET托管服务

·Windows描述,使用ASP.NET作为登录角色的Windows

2007年11月19日 3.5 与Visual Studio 2008和 Windows Server 2008一起发布 ·新数据控件(列表视图ListView、数据页DataPager)

·ASP.NET AJAX包作为框架的一部分被包括进来

·支持超文本传输协议http的流水线和联合提要。

·WCF支持 RSS、JSON、POX和Partial Trust

·提供所有的.NET框架3.5的更新情况,如LINQ等。

2008年8月11日 3.5 Service Pack 1 与Visual Studio 2008 Service Pack 1一起发布 ·ASP.NET动态数据的整合

·支持在ASP.NET AJAX应用程序中控制浏览器历史记录

·能够将多个JavaScript文件组合成一个文件,以提高下载效率

·新名称空间系统:网络抽象和系统网络路由

2010年4月12日 4.0 并行扩展和其他NET框架4特性 页面类中添加的两个新属性是元关键字和元描述(MetaKeyword and MetaDescription)。
2012年8月15日 4.5 与适用于Windows8的Visual Studio 2012和Windows Server 2012一起发布

具有和其他.NET框架4.5并行扩展的特性

2013年10月17日 4.5.1 与Visual Studio 2013一起发布[7] ,适用于Windows Server 2012 R2版和 Windows 8.1版 ·Bootstrap 3.0

·网络应用编程接口2 (Web API2): OAuth 2.0,OData改进版,CORS

·MVC 5:具有属性路由、身份验证过滤器和过滤器覆盖的功能

·EF 6

·SignalR

·OWIN

2014年5月5日[8] 4.5.2 ·更高可靠性的超文本传输协议(HTTP)的头检查和修改方法

·调度后台异步工作任务的新方法

2015年7月29日[8] 4.6 与Visual Studio 2015[9][10] 和EF 7一起发布,适用于Windows Server2016和Windows10 ·在Windows10上支持HTTP/2

·更多异步任务返回API

2015年11月30日[8] 4.6.1
2016年8月2日[8] 4.6.2 ·改进的异步支持(输出缓存和会话提供程序)
2017年4月11日[8] 4.7 包括在the Windows 10 Creators Update[11] ·操作系统支持顶级域名系统协议TLS
2017年10月17日[8] 4.7.1 包含在the Windows 10 Fall Creators Update[12] ·改善可访问性

·值元组类型序列化

·SHA-2支持

2015年11月18日 5 RC1 该版本后来从ASP.NET分离出来,并被引入一个名为ASP.NET核心的新项目,其版本控制从1.0开始。[13] 一个具有不同开发原则和目标的全新项目

6 其他实现方式编辑

Mono项目支持“所有.NET 4.5,除了WPF、WWF和有限的WCF和有限的ASP.NET 4.5中的异步堆栈。”[14] ASP.NET可以使用以下三个选项之一与Mono一起运行:- Apache主机使用的mod_mono模块,FastCGI主机,和XSP。

参考文献

  • [1]

    ^"ASP.NET is part of a great open source .NET community". Microsoft. May 14, 2013..

  • [2]

    ^"Introduction to ASP.NET 5 — ASP.NET 0.0.1 documentation". asp.net..

  • [3]

    ^"Choose between ASP.NET and ASP.NET Core". docs.microsoft.com (in 英语)..

  • [4]

    ^"ASP.NET Web Pages (Razor) FAQ". docs.microsoft.com (in 英语)..

  • [5]

    ^"Get Started with ASP.NET Web API 2 (C#)". docs.microsoft.com (in 英语)..

  • [6]

    ^"How to Take Advantage of the IIS 7.0 Integrated Pipeline". iis.net..

  • [7]

    ^"Announcing release of ASP.NET and Web Tools for Visual Studio 2013"..

  • [8]

    ^".net framework product lifecycle"..

  • [9]

    ^"Announcing .NET Framework 4.6"..

  • [10]

    ^"Visual Studio 2015 and Visual Studio 2013 Update 5 Released". msdn.com. Microsoft..

  • [11]

    ^"Announcing the .NET Framework 4.7"..

  • [12]

    ^"Announcing the .NET Framework 4.7.1"..

  • [13]

    ^"Releases". GitHub..

  • [14]

    ^"Compatibility | Mono". Compatibility | Mono. 8 September 2015. Archived from the original on 2 July 2016. Retrieved 29 August 2016..

阅读 2826
版本记录
  • 暂无