ASP.NET

{{Short description|Open-source web application framework}}

{{distinguish|UNESCO ASPNet}}

{{for|its rewrite|ASP.NET Core}}

{{Infobox software

| name = ASP.NET (software)

| logo =

| developer = Microsoft

| released = {{Start date and age|2002|1|5}}

| latest_release_version = 4.8.1

| latest_release_date = {{Start date and age|2022|08|09}}{{cite web |title=.net framework download page|url=https://dotnet.microsoft.com/en-us/download/dotnet-framework/net481}}

| programming language = .NET languages

| operating system = Microsoft Windows, Linux, macOS

| platform = .NET Framework

| genre = Web framework

| license = Proprietary software{{cite web|title=Microsoft .NET Framework Redistributable EULA|url=https://msdn.microsoft.com/en-us/library/ms994405.aspx|website=MSDN|date=13 September 2006 |publisher=Microsoft|access-date=February 28, 2015|archive-date=April 2, 2015|archive-url=https://web.archive.org/web/20150402161923/https://msdn.microsoft.com/en-us/library/ms994405.aspx|url-status=live}}

}}{{Infobox file format

| name = ASP.NET (file format)

| icon =

| logo =

|_noextcode = on

| extension = .aspx, .cshtml, .vbhtml

| mime = text/html

| magic =

| owner = Microsoft

| released =

| latest release version =

| latest release date =

| genre =

| container for =

| contained by =

| extended from =

| extended to =

| standard =

| free =

| url =

}}

ASP.NET is a server-side web-application framework designed for web development to produce dynamic web pages. It was developed by Microsoft to allow programmers to build dynamic web sites, applications and services. The name stands for Active Server Pages Network Enabled Technologies.

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.

In 2016, Microsoft released ASP.NET Core as ASP.NET's successor. This new version 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.{{cite web|title=Introduction to ASP.NET 5 — ASP.NET 0.0.1 documentation|url=http://docs.asp.net/en/latest/conceptual-overview/aspnet.html#unify|work=asp.net|url-status=live|archive-url=https://web.archive.org/web/20200508045123/https://docs.microsoft.com/en-us/aspnet/core/?view=aspnetcore-3.1|archive-date=May 8, 2020|access-date=May 11, 2020}}

Programming models

ASP.NET supports a number of programming models for building web applications:{{cite web |title=Choose between ASP.NET and ASP.NET Core |url=https://docs.microsoft.com/en-us/aspnet/core/choose-aspnet-framework?view=aspnetcore-2.1 |website=docs.microsoft.com | date=10 April 2024 |language=en-us}}

  • ASP.NET Web Forms – A framework for building modular pages out of components, with UI events being processed server-side. This framework is not included in the ASP.NET Core versions; it only works in the "classic" ASP.NET, on Windows.
  • ASP.NET MVC – allows 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.{{cite web |title=ASP.NET Web Pages (Razor) FAQ |url=https://docs.microsoft.com/en-us/aspnet/web-pages/overview/getting-started/aspnet-web-pages-razor-faq#Whats_the_difference_between_ASP.NET_Web_Pages,_ASP.NET_Web_Forms,_and_ASP.NET_MVC |website=docs.microsoft.com |language=en-us}}
  • ASP.NET Web API – A framework for building Web APIs on top of the .NET Framework.{{cite web |title=Get Started with ASP.NET Web API 2 (C#) |url=https://docs.microsoft.com/en-us/aspnet/web-api/overview/getting-started-with-aspnet-web-api/tutorial-your-first-web-api |website=docs.microsoft.com |date=30 September 2022 |language=en-us}}
  • 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 – Components that implement the System.Web.IHttpHandler interface. 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 pipeline

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.{{cite web|url=http://learn.iis.net/page.aspx/244/how-to-take-advantage-of-the-iis7-integrated-pipeline|title=How to Take Advantage of the IIS 7.0 Integrated Pipeline|work=iis.net|date=14 June 2022 }}

Third-party frameworks

It is not essential to use the standard Web forms development model when developing with ASP.NET. Noteworthy frameworks designed for the platform include:

Versions

ASP.NET's release history tightly correlates with the .NET Framework releases:

class="wikitable sortable"
style="width:8%" | Date

! style="width:8%" | Version

! class="unsortable" style="width:30%" | Remarks

! class="unsortable" style="width:45%" | New ASP.NET related features

January 16, 2002

| {{Version |o |1.0 | sortKey=1.00}}

| First version

released together with Visual Studio .NET

|

  • Object-oriented Web application development supporting inheritance, polymorphism and other standard OOP features
  • Developers are no longer forced to use Server.CreateObject(...), so early-binding and type safety are possible.
  • Based on Windows programming; the developer can make use of DLL class libraries and other features of the Web server to build more robust applications that do more than simply rendering HTML (e.g., exception handling)
April 24, 2003

| {{Version |o |1.1 | sortKey=1.10}}

| released together with Windows Server 2003

released together with Visual Studio .NET 2003

|

  • Mobile controls
  • Automatic input validation
November 7, 2005

| {{Version |o |2.0 | sortKey=2.00}}

|

codename Whidbey

released together with Visual Studio 2005 and Visual Web Developer Express

and SQL Server 2005

|

  • New data controls (GridView, FormView, DetailsView)
  • New technique for declarative data access (SqlDataSource, ObjectDataSource, XmlDataSource controls)
  • Navigation controls
  • Master pages
  • Login controls
  • Themes
  • Skins
  • Web parts
  • Personalization services
  • Full pre-compilation
  • New localization technique
  • Support for 64-bit processors
  • Provider class model
November 21, 2006

| {{Version |o |3.0 | sortKey=3.00}}

| Released with Windows Vista

|

November 19, 2007

| {{Version |o |3.5 | sortKey=3.50}}

| Released with Visual Studio 2008 and Windows Server 2008

|

  • New data controls (ListView, DataPager)
  • ASP.NET AJAX included as part of the framework
  • Support for HTTP pipelining and syndication feeds.
  • WCF support for RSS, JSON, POX and Partial Trust
  • All the .NET Framework 3.5 changes, like LINQ etc.
August 11, 2008

| {{Version |o |3.5 Service Pack 1 | sortKey=3.51}}

| Released with Visual Studio 2008 Service Pack 1

|

  • Incorporation of ASP.NET Dynamic Data
  • Support for controlling browser history in an ASP.NET AJAX application
  • Ability to combine multiple JavaScript files into one file for more efficient downloading
  • New namespaces System.Web.Abstractions and System.Web.Routing
April 12, 2010

| {{Version |o |4.0 | sortKey=4.00}}

| Released with Visual Studio 2010

Parallel extensions and other .NET Framework 4 features

|

The two new properties added in the Page class are MetaKeyword and MetaDescription.

August 15, 2012

| {{Version |o |4.5 | sortKey=4.50}}

| Released with Visual Studio 2012 and Windows Server 2012 for Windows 8

Parallel extensions and other .NET Framework 4.5 features

|

October 17, 2013

| {{Version |o |4.5.1 | sortKey=4.51}}

| Released with Visual Studio 2013{{cite web |title=Announcing release of ASP.NET and Web Tools for Visual Studio 2013 |url=http://blogs.msdn.com/b/webdev/archive/2013/10/17/announcing-release-of-asp-net-and-web-tools-for-visual-studio-2013.aspx}} for Windows Server 2012 R2 and Windows 8.1

|

May 5, 2014{{cite web|title=.net framework product lifecycle|url=https://support.microsoft.com/en-us/lifecycle/search?alpha=.net%20framework}}

| {{Version |co |4.5.2 | sortKey=4.52}}

|

|

  • Higher reliability HTTP header inspection and modification methods
  • New way to schedule background asynchronous worker tasks
July 20, 2015

|{{Version |co |4.6 | sortKey=4.60}}

|Released{{cite web |title=Announcing .NET Framework 4.6 |url=http://blogs.msdn.com/b/dotnet/archive/2015/07/20/announcing-net-framework-4-6.aspx}} with Visual Studio 2015{{cite web |title=Visual Studio 2015 and Visual Studio 2013 Update 5 Released |url=http://blogs.msdn.com/b/visualstudio/archive/2015/07/20/visual-studio-2015-and-visual-studio-2013-update-5-released.aspx |publisher=Microsoft |work=msdn.com|date=20 July 2015 }} and EF 7 Previews for Windows Server 2016 and Windows 10

|

  • HTTP/2 support when running on Windows 10
  • More async task-returning APIs
November 30, 2015

|{{Version |co |4.6.1 | sortKey=4.61}}

|

|

August 2, 2016

|{{Version |co |4.6.2 | sortKey=4.62}}

|

|

  • Improved async support (output-cache and session providers)
April 11, 2017

|{{Version |co |4.7 | sortKey=4.70}}

| Included in the Windows 10 Creators Update{{cite web|title=Announcing the .NET Framework 4.7|date=5 April 2017 |url=https://blogs.msdn.microsoft.com/dotnet/2017/04/05/announcing-the-net-framework-4-7/}}

|

  • operating system support for TLS protocols
October 17, 2017

|{{Version |co |4.7.1 | sortKey=4.71}}

| Included in the Windows 10 Fall Creators Update.{{cite web|title=Announcing the .NET Framework 4.7.1|date=17 October 2017 |url=https://blogs.msdn.microsoft.com/dotnet/2017/10/17/announcing-the-net-framework-4-7-1/}}

|

  • Improved accessibility
  • Value tuple types serialization
  • SHA-2 support
April 30, 2018

|{{Version |co |4.7.2 | sortKey=4.72}}

|

August 09, 2022

|{{Version |c |4.8.1 | sortKey=4.80}}

| Released{{cite web|title=Announcing the .NET Framework 4.8|date=18 April 2019 |url=https://devblogs.microsoft.com/dotnet/announcing-the-net-framework-4-8/}}

|

  • JIT and NGEN Improvements
  • Updated ZLib
  • Reducing FIPS Impact on Cryptography
  • Accessibility Enhancements for WinForms
  • Service Behavior Enhancements for WCF
  • High DPI Enhancements, UIAutomation Improvements for WPF
November 18, 2015

|{{Version |o |5 RC1 | sortKey=4.90}}

|This version was later separated from ASP.NET and brought into a new project called ASP.NET Core, whose versioning started at 1.0.{{cite web |title=Releases |url=https://github.com/aspnet/Home/releases |website=GitHub}}

|An entirely new project with different development tenets and goals

class="sortbottom"

| colspan="4" | {{Version |l |show=111111}}

Other implementations

The Mono Project supports "everything in .NET 4.7 except WPF, WWF, and with limited WCF and limited ASP.NET 4.7 async stack."{{cite web|title=Compatibility | Mono |url=http://www.mono-project.com/docs/about-mono/compatibility/ |website=Compatibility | Mono |access-date=29 August 2016 |archive-url=https://web.archive.org/web/20160702192925/http://www.mono-project.com/docs/about-mono/compatibility/ |archive-date=2 July 2016 |date=8 September 2015 |url-status=live }} ASP.NET can be run with Mono using one of three options: Apache hosting using the mod_mono module, FastCGI hosting, and XSP.

See also

References

= Citations =

{{Reflist|30em}}

= General sources =

  • {{cite book

|title = Pro ASP.NET 2.0 in C# 2005

|edition = 1st

|last1 = MacDonald

|first1 = Matthew

|first2 = Mario

|last2 = Szpuszta

|year = 2005

|publisher = Apress

|isbn = 1-59059-496-7

|url-access = registration

|url = https://archive.org/details/proaspnet20inc200000macd

}}