ASP.NET is an open-source server-side web application framework designed for web development to produce dynamic web pages developed by Microsoft to allow programmers to build dynamic web sites, applications and services.
|Initial release||January 5, 2002|
4.7.1 / October 17, 2017
|Written in||.NET languages|
|Operating system||Microsoft Windows, Linux, macOS|
|License||Apache License 2.0|
|Internet media type|
It was first released in January 2002 with version 1.0 of the .NET Framework, and is the successor to Microsoft's Active Server Pages (ASP) technology. ASP.NET is built on the Common Language Runtime (CLR), allowing programmers to write ASP.NET code using any supported .NET language. The ASP.NET SOAP extension framework allows ASP.NET components to process SOAP messages.
ASP.NET's successor is ASP.NET Core. It is a re-implementation of ASP.NET as a modular web framework, together with other frameworks like Entity Framework. The new framework uses the new open-source .NET Compiler Platform (codename "Roslyn") and is cross platform. ASP.NET MVC, ASP.NET Web API, and ASP.NET Web Pages (a platform using only Razor pages) have merged into a unified MVC 6.
ASP.NET supports a number of programming models for building web applications:
- ASP.NET Web Forms - a framework for building modular pages out of components, with UI events being processed server-side.
- ASP.NET MVC - allows for building web pages using the model–view–controller design pattern.
- ASP.NET Web Pages - a lightweight syntax for adding dynamic code and data access directly inside HTML markup.
- ASP.NET Web API - a framework for building Web APIs on top of the .NET Framework.
- ASP.NET WebHooks - implements the Webhook pattern for subscribing to and publishing events via HTTP.
- SignalR - a real-time communications framework for bi-directional communication between client and server.
Other ASP.NET extensions include:
- ASP.NET Handler: Are components that implement the
System.Web.IHttpHandlerinterface. Unlike ASP.NET Pages, they have no HTML-markup file, no events and other supporting. All they have is a code-file (written in any .NET-compatible language) that writes some data to the server HTTP response. HTTP handlers are similar to ISAPI extensions.
- ASP.NET AJAX: An extension with both client-side as well as server-side components for writing ASP.NET pages that incorporate Ajax functionality.
- ASP.NET Dynamic Data: A scaffolding extension to build data driven web applications
IIS integrated pipelineEdit
On IIS 6.0 and lower, pages written using different versions of the ASP framework cannot share session state without the use of third-party libraries. This does not apply to ASP.NET and ASP applications running side by side on IIS 7. With IIS 7.0, modules may be run in an integrated pipeline that allows modules written in any language to be executed for any request.
Several available software packages exist for developing ASP.NET applications:
|Visual Studio Code||Microsoft and community||Freeware open source|
|Microsoft Visual Studio||Microsoft||Free and commercial|
|Microsoft Visual Web Developer Express||Microsoft||Registerware|
|CodeGear Delphi||Embarcadero Technologies||Commercial|
|Macromedia HomeSite||Adobe Systems||Commercial|
|Microsoft Expression Web||Microsoft||Free|
|Microsoft SharePoint Designer||Microsoft||Free|
|MonoDevelop||Xamarin and the Mono community||Free open source|
|Adobe Dreamweaver||Adobe Systems||Commercial|
|SharpDevelop||ICSharpCode Team||Free open source|
It is not essential to use the standard Web forms development model when developing with ASP.NET. Noteworthy frameworks designed for the platform include:
- Base One Foundation Component Library (BFC) is RAD framework for building .NET database and distributed computing applications.
- DotNetNuke is an open-source solution that provides both a web application framework and a content management system that allows for advanced extensibility through modules, skins, and providers.
- Castle MonoRail, an open-source MVC framework with an execution model similar to Ruby on Rails. The framework is commonly used with Castle ActiveRecord, an ORM layer built on NHibernate.
The ASP.NET releases history tightly correlates with the .NET Framework releases:
|Date||Version||Remarks||New ASP.NET related features|
|January 16, 2002||Old version, no longer supported: 1.0||First version
released together with Visual Studio .NET
|April 24, 2003||Old version, no longer supported: 1.1||released together with Windows Server 2003
released together with Visual Studio .NET 2003
|November 7, 2005||Old version, no longer supported: 2.0||
|November 21, 2006||Old version, no longer supported: 3.0|
|November 19, 2007||Old version, no longer supported: 3.5||Released with Visual Studio 2008 and Windows Server 2008|
|August 11, 2008||Old version, no longer supported: 3.5 Service Pack 1||Released with Visual Studio 2008 Service Pack 1||
|April 12, 2010||Old version, no longer supported: 4.0||
Parallel extensions and other .NET Framework 4 features
The two new properties added in the Page class are MetaKeyword and MetaDescription.
|August 15, 2012||Old version, no longer supported: 4.5||Released with Visual Studio 2012 and Windows Server 2012 for Windows 8
Parallel extensions and other .NET Framework 4.5 features
|October 17, 2013||Old version, no longer supported: 4.5.1||Released with Visual Studio 2013 for Windows Server 2012 R2 and Windows 8.1|
|May 5, 2014||Older version, yet still supported: 4.5.2||
|July 29, 2015||Older version, yet still supported: 4.6||Released with Visual Studio 2015 and EF 7 Previews for Windows Server 2016 and Windows 10||
|November 30, 2015||Older version, yet still supported: 4.6.1|
|August 2, 2016||Older version, yet still supported: 4.6.2||
|April 11, 2017||Older version, yet still supported: 4.7||Included in the Windows 10 Creators Update||
|October 17, 2017||Current stable version: 4.7.1||Included in the Windows 10 Fall Creators Update.||
|November 18, 2015||Old version, no longer supported: 5 RC1||This version was later separated from ASP.NET and brought into a new project called ASP.NET Core, whose versioning started at 1.0.||An entirely new project with different development tenets and goals|
The Mono Project supports "everything in .NET 4.5 except WPF, WWF, and with limited WCF and limited ASP.NET 4.5 async stack." ASP.NET can be run with Mono using one of three options:- Apache hosting using the mod_mono module, FastCGI hosting, and XSP.
- "Announcing the .NET Framework 4.7.1".
- "ASP.NET is part of a great open source .NET community". Microsoft. May 14, 2013.
- "Introduction to ASP.NET 5 — ASP.NET 0.0.1 documentation". asp.net.
- "Choose between ASP.NET and ASP.NET Core". docs.microsoft.com.
- "ASP.NET Web Pages (Razor) FAQ". docs.microsoft.com.
- "Get Started with ASP.NET Web API 2 (C#)". docs.microsoft.com.
- "How to Take Advantage of the IIS 7.0 Integrated Pipeline". iis.net.
- "Announcing release of ASP.NET and Web Tools for Visual Studio 2013".
- ".net framework product lifecycle".
- "Announcing .NET Framework 4.6".
- "Visual Studio 2015 and Visual Studio 2013 Update 5 Released". msdn.com. Microsoft.
- "Announcing the .NET Framework 4.7".
- "Announcing the .NET Framework 4.7.1".
- "Releases". GitHub.
- "Compatibility | Mono". Compatibility | Mono. 8 September 2015. Archived from the original on 2 July 2016. Retrieved 29 August 2016.