ASP.NET: Difference between revisions

Content deleted Content added
CatherineMunro (talk | contribs)
m typo
Evarlast (talk | contribs)
include original author
 
Line 1:
{{Short description|Open-source web application framework}}
'''ASP.NET''' is a web development environment from [[Microsoft]].
{{distinguish|UNESCO ASPNet}}
{{for|its rewrite|ASP.NET Core}}
{{Infobox software
| name = ASP.NET (software)
| logo =
| developer = [[Microsoft]] [[Scott Guthrie]]
| released = {{Start date and age|2002|1|5}}
| latest_release_version = 4.8.1
| latest_release_date = {{Start date and age|2022|08|09}}<ref>{{cite web |title=.net framework download page|url=https://dotnet.microsoft.com/en-us/download/dotnet-framework/net481}}</ref>
| programming language = [[List of CLI languages|.NET languages]]
| operating system = [[Microsoft Windows]], [[Linux]], [[macOS]]
| platform = [[.NET Framework]]
| genre = [[Web framework]]
| license = [[Proprietary software]]<ref>{{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}}</ref>
}}
{{Infobox file format
| name = ASP.NET (file format)
| icon =
| logo =
|_noextcode = on
| extension = <code>.aspx</code>, <code>.asmx</code>, <code>.aspc</code>,<ref name=devx>{{Cite web |title=Introduction to ASP+ |url=http://archive.devx.com/asp/articles/ck072600/ck072600.asp |archive-url=https://web.archive.org/web/20030202065505/http://archive.devx.com/asp/articles/ck072600/ck072600.asp |archive-date=2003-02-02 |access-date=2025-08-13 |website=DevX |first=Chris |last=Kinsman |date=July 2000}}</ref> <code>[[ASP.NET Razor|.cshtml]]</code>, <code>[[ASP.NET Razor|.vbhtml]]</code>
| mime = text/html
| magic =
| owner = [[Microsoft]]
| released = <!-- {{Start date|YYYY|mm|dd|df=yes/no}} -->
| latest release version =
| latest release date = <!-- {{Start date and age|YYYY|mm|dd|df=yes/no}} -->
| genre =
| container for =
| contained by =
| extended from =
| extended to =
| standard =
| free =
| url =
}}
 
'''ASP.NET''' is a [[server-side scripting|server-side]] [[web-application framework]] designed for [[web development]] to produce [[dynamic web page]]s. It was developed by [[Microsoft]] to allow [[programmer]]s to build dynamic [[web site]]s, [[web application|applications]] and [[web service|service]]s. The name stands for Active Server Pages Network Enabled Technologies.{{citation needed|date=August 2025}}
It brings the concept of "form", from desktop development, to the web. [[HTML]] has the FORM [[tag]], but in ASP.NET, a web page is a [[WebForm]]. Instead of justing write HTML code into the [[HTTP]] stream (like [[Common Gateway Interface|CGI]], [[Active Server Pages|ASP]] and [[PHP programming language|PHP]]), using ASP.NET you can use and create controls like Labels, TextBoxes and ListView, and add [[event handler]]s ("postbacks") to them. And instead of [[render]]ing a window in a desktop, it will generate the HTML output which will be rendered by user's browser.
 
ASP.NET was first announced to the public under the codename ASP+, and is a re-implementation of Microsoft's [[Active Server Pages]] (ASP) technology.<ref name=devx/> ASP.NET is built on the [[Common Language Runtime]] (CLR), allowing programmers to write ASP.NET code using any supported [[List of CLI languages|.NET language]].<ref>{{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 |pages=5-6 |quote=[...] ASP.NET pages and web services are executed within the CLR (common language runtime), so they can be authored in any language that has a CLR-compliant compiler. [...] ASP.NET gives you the ability to code in any supported .NET language (including Visual Basic, C#, J#, and many other languages that have third-party compilers). }}</ref> The ASP.NET [[SOAP]] extension framework allows ASP.NET components to process SOAP messages.
The ASP.NET architecture uses the [[.NET Framework]] as infrastructure. The .NET Framework is a managed runtime environment (like [[Java platform|Java]]), providing a [[virtual machine]] with [[Just-in-time|JIT]] and a [[class library]]. Using the numerous .NET classes, can cut down on development time.
 
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 [[ASP.NET Razor|Razor]] pages) have merged into a unified MVC ([[model–view–controller]]) 6.<ref name="asp.net">{{cite web|title=ASP.NET 5 Overview|first=Tom|last=FitzMacken|date=2014-12-11|website=ASP.NET|url-status=dead|archive-url=https://web.archive.org/web/20141115023406/http://www.asp.net/vnext/overview/aspnet-vnext/aspnet-5-overview#unify|url=http://www.asp.net/vnext/overview/aspnet-vnext/aspnet-5-overview#unify|archive-date=2014-11-15}}</ref>
Web developers using ASP.NET can use the .NET Framework to make some tasks easier. For example, programming a feature allowing files to be uploaded via a web page, is significantly easier using ASP.NET than [[Active_Server_Pages|Classic ASP]] (the name now given to ASP pages).
 
== Programming models ==
There are several software packages available for developing ASP.NET applications:
{{see also|ASP.NET Web Forms}}
*[[Visual Studio .NET]]
ASP.NET supports a number of programming models for building web applications:<ref>{{cite web |title=Choose between ASP.NET and ASP.NET Core |archive-url=https://web.archive.org/web/20180509012506/https://docs.microsoft.com/en-us/aspnet/core/choose-aspnet-framework?view=aspnetcore-2.1|url=https://docs.microsoft.com/en-us/aspnet/core/choose-aspnet-framework?view=aspnetcore-2.1|archive-date=2018-05-09|website=Microsoft Docs|url-status=dead| date=2018-03-14|language=en-us}}</ref>
*[[Macromedia Dreamweaver MX 2004]]
* [[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 Web Matrix]]
* [[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.<ref>{{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}}</ref>
* [[ASP.NET Web API]] – A framework for building [[Web API]]s on top of the [[.NET Framework]].<ref>{{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 |first=Wasson |last=Mike }}</ref>
* [[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:
The current version is 1.1. ASP.NET 2 is due for release in Q1 [[2005]]. It is expected that the latest version of [[Visual Studio]] ([[Visual Studio.NET 2005]]) will also be released at this time.
* [[HTTP handler|ASP.NET Handler]] – Components that implement the <code>System.Web.IHttpHandler</code> 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 [[List of CLI languages|.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 (programming)|Ajax]] functionality.
* [[ASP.NET Dynamic Data]] – A [[scaffold (programming)|scaffolding]] extension to build data driven web applications.
 
== IIS integrated pipeline ==
==External link==
On [[Internet Information Services|IIS]]&nbsp;6.0 and lower, pages written using different versions of the ASP framework cannot share [[#Session state|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&nbsp;7. With IIS&nbsp;7.0, modules may be run in an integrated pipeline that allows modules written in any language to be executed for any request.<ref>{{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|access-date=26 January 2009|archive-date=24 March 2010|archive-url=https://web.archive.org/web/20100324031657/http://learn.iis.net/page.aspx/244/how-to-take-advantage-of-the-iis7-integrated-pipeline|url-status=dead}}</ref>
*[http://www.asp.net/ Official ASP.NET site]
 
== 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:
* [[Base One Foundation Component Library]] (BFC) is [[rapid application development|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.
* [[MonoRail (software)|Castle MonoRail]], an open-source [[model–view–controller|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]].
 
== Versions ==
ASP.NET's release history tightly correlates with the [[.NET Framework]] releases:
<!--Template:Version - for version & release history. Documentation & examples: http://en.wikipedia.org/wiki/Template:Version-->
{| 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<br/>
released together with [[Visual Studio .NET]]
|
* [[Object-oriented programming|Object-oriented]] Web application development supporting [[inheritance (object-oriented programming)|inheritance]], [[polymorphism in object-oriented programming|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 [[Microsoft Windows|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]]<br/>
released together with [[Visual Studio .NET 2003]]
|
* Mobile controls
* Automatic input validation
|-
| November 7, 2005
| {{Version |o |2.0 | sortKey=2.00}}
|
codename [[Microsoft codenames|Whidbey]]<br/>
released together with [[Visual Studio 2005]] and [[Microsoft Visual Studio Express|Visual Web Developer Express]]<br/>
and [[Microsoft SQL Server|SQL Server 2005]]
|
* New data controls (GridView, FormView, DetailsView)
* New technique for declarative data access (SqlDataSource, ObjectDataSource, XmlDataSource controls)
* Navigation controls
* [[ASP master pages|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]]
|
* [[Windows Presentation Foundation]] (WPF)
* [[Windows Workflow Foundation]] (WF)
* [[Windows Communication Foundation]], which can use ASP.NET to host services
* [[Windows CardSpace]], which uses ASP.NET for login roles
|-
| 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 [[Language Integrated Query|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]]<ref>{{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}}</ref> for [[Windows Server 2012 R2]] and [[Windows 8.1]]
|
* [[Bootstrap (front-end framework)|Bootstrap]] 3.0
* Web API 2: [[OAuth]] 2.0, [[Open Data Protocol|OData]] improvements, [[Cross-origin resource sharing|CORS]]
* [[ASP.NET MVC|MVC]] 5: Attribute routing, authentication filters and filter overrides
* [[Entity Framework|EF]] 6
* [[SignalR]]
* [[Open Web Interface for .NET|OWIN]]
|-
| May 5, 2014<ref name="lifecycle">{{cite web|title=.net framework product lifecycle|url=https://support.microsoft.com/en-us/lifecycle/search?alpha=.net%20framework}}</ref>
| {{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<ref name="lifecycle" />
|{{Version |co |4.6 | sortKey=4.60}}
|Released<ref>{{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}}</ref> with [[Visual Studio 2015]]<ref>{{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 }}</ref> and [[Entity Framework|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<ref name="lifecycle" />
|{{Version |co |4.6.1 | sortKey=4.61}}
|
|
|-
| August 2, 2016<ref name="lifecycle" />
|{{Version |co |4.6.2 | sortKey=4.62}}
|
|
* Improved async support (output-cache and session providers)
|-
| April 11, 2017<ref name="lifecycle" />
|{{Version |co |4.7 | sortKey=4.70}}
| Included in the Windows 10 Creators Update<ref>{{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/}}</ref>
|
* operating system support for TLS protocols
|-
| October 17, 2017<ref name="lifecycle" />
|{{Version |co |4.7.1 | sortKey=4.71}}
| Included in the Windows 10 Fall Creators Update.<ref>{{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/}}</ref>
|
* Improved accessibility
* Value tuple types serialization
* SHA-2 support
|-
| April 30, 2018<ref name="lifecycle" />
|{{Version |co |4.7.2 | sortKey=4.72}}
|
|-
| August 09, 2022<ref name="lifecycle" />
|{{Version |c |4.8.1 | sortKey=4.80}}
| Released<ref>{{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/}}</ref>
|
* JIT and NGEN Improvements
* Updated [[zlib|ZLib]]
* Reducing FIPS Impact on Cryptography
* Accessibility Enhancements for [[WinForms]]
* Service Behavior Enhancements for [[Windows Communication Foundation|WCF]]
* High DPI Enhancements, UIAutomation Improvements for [[Windows Presentation Foundation|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.<ref name="GHreleases">{{cite web |title=Releases |url=https://github.com/aspnet/Home/releases |website=GitHub}}</ref>
|An entirely new project with different development tenets and goals
|- class="sortbottom"
| colspan="4" | {{Version |l |show=111111}}
|}
 
== Other implementations ==
The [[Mono (software)|Mono]] Project supports "everything in .NET 4.7 except [[Windows Presentation Foundation|WPF]], [[Windows Workflow Foundation|WWF]], and with limited [[Windows Communication Foundation|WCF]] and limited ASP.NET async stack."<ref name="monoproject">{{cite web|title=Compatibility |url=http://www.mono-project.com/docs/about-mono/compatibility/ |website=Mono |access-date=13 August 2025 |url-status=live }}</ref> ASP.NET can be run with Mono using one of three options: [[Apache HTTP Server|Apache]] hosting using the [[mod_mono]] module, [[FastCGI]] hosting, and [[XSP (software)|XSP]].
 
== References ==
{{Reflist|30em}}
 
== External links ==
{{Wikibooks}}
{{Prone to spam|date=June 2012}}
<!-- {{No more links}}
 
Please be cautious adding more external links.
 
Wikipedia is not a collection of links and should not be used for advertising.
 
Excessive or inappropriate links will be removed.
 
See [[Wikipedia:External links]] and [[Wikipedia:Spam]] for details.
 
If there are already suitable links, propose additions or replacements on
the article's talk page, or submit your link to the relevant category at
the Open Directory Project (dmoz.org) and link there using {{Dmoz}}.
 
-->
* {{Official website|asp.net}}
* [http://msdn.microsoft.com/asp.net/ ASP.NET] on [[MSDN]]
* [http://www.codeproject.com/KB/aspnet/Whatis_New_ASP_Net_4.aspx Some of new features in ASP.NET 4 and vs 2010 IDE] {{Webarchive|url=https://web.archive.org/web/20181225171923/http://www.codeproject.com/KB/aspnet/Whatis_New_ASP_Net_4.aspx%20%0A |date=2018-12-25 }}
 
{{.NET Framework}}
{{Microsoft APIs|close}}
{{Microsoft development tools|close}}
{{Microsoft FOSS}}
{{Web frameworks}}
{{Authority control}}
 
{{DEFAULTSORT:Asp.Net}}
[[Category:ASP.NET| ]]
[[Category:2002 software]]
[[Category:Free and open-source software]]
[[Category:Microsoft application programming interfaces]]
[[Category:Microsoft free software]]
[[Category:Microsoft Visual Studio]]
[[Category:Software using the Apache license]]
[[Category:Template engines]]
[[Category:Web frameworks]]