ASP.NET: Difference between revisions
imported>Criticize Undid revision 1296941607 by The Sam Olsen (talk) |
imported>Deltaspace42 Removing from Category:Free and open-source software using Cat-a-lot |
||
| Line 3: | Line 3: | ||
{{for|its rewrite|ASP.NET Core}} | {{for|its rewrite|ASP.NET Core}} | ||
{{Infobox software | {{Infobox software | ||
| name | | name = ASP.NET (software) | ||
| logo | | logo = | ||
| developer | | developer = [[Microsoft]], [[Scott Guthrie]] | ||
| released | | released = {{Start date and age|2002|1|5}} | ||
| latest_release_version = 4.8.1 | | latest_release_version = 4.8.1 | ||
| latest_release_date | | 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 | | programming language = [[List of CLI languages|.NET languages]] | ||
| operating system | | operating system = [[Microsoft Windows]], [[Linux]], [[macOS]] | ||
| platform | | platform = [[.NET Framework]] | ||
| genre | | genre = [[Web framework]] | ||
| license | | 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 | {{Infobox file format | ||
| name | | name = ASP.NET (file format) | ||
| icon | | icon = | ||
| logo | | logo = | ||
|_noextcode | | _noextcode = on | ||
| extension | | 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 | | mime = text/html | ||
| magic | | magic = | ||
| owner | | owner = [[Microsoft]] | ||
| released | | released = <!-- {{Start date|YYYY|mm|dd|df=yes/no}} --> | ||
| latest release version = | | latest release version = | ||
| latest release date | | latest release date = <!-- {{Start date and age|YYYY|mm|dd|df=yes/no}} --> | ||
| genre | | genre = | ||
| container for | | container for = | ||
| contained by | | contained by = | ||
| extended from | | extended from = | ||
| extended to | | extended to = | ||
| standard | | standard = | ||
| free | | free = | ||
| url | | 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. | '''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}} | ||
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. | |||
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 6.<ref name="asp.net">{{cite web|title= | 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> | ||
== Programming models == | == Programming models == | ||
ASP.NET supports a number of programming models for building web applications:<ref>{{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 | | {{see also|ASP.NET Web Forms}} | ||
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> | |||
* [[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 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 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 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}}</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. | * [[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. | * [[SignalR]] – A real-time communications framework for bi-directional communication between client and server. | ||
| Line 58: | Line 59: | ||
== IIS integrated pipeline == | == IIS integrated pipeline == | ||
On [[Internet Information Services|IIS]] 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 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.<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 }}</ref> | On [[Internet Information Services|IIS]] 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 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.<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> | ||
== Third-party frameworks == | == Third-party frameworks == | ||
| Line 81: | Line 82: | ||
released together with [[Visual Studio .NET]] | released together with [[Visual Studio .NET]] | ||
| | | | ||
* [[Object-oriented]] Web application development supporting [[inheritance (object-oriented programming)|inheritance]], [[polymorphism in object-oriented programming|polymorphism]] and other standard OOP features | * [[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. | ** 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]]) | * 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]]) | ||
| Line 229: | Line 230: | ||
== Other implementations == | == 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 | 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 }}</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 == | == References == | ||
{{Reflist|30em}} | {{Reflist|30em}} | ||
== External links == | == External links == | ||
| Line 271: | Line 255: | ||
* {{Official website|asp.net}} | * {{Official website|asp.net}} | ||
* [http://msdn.microsoft.com/asp.net/ ASP.NET] on [[MSDN]] | * [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] | * [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}} | {{.NET Framework}} | ||
| Line 283: | Line 267: | ||
[[Category:ASP.NET| ]] | [[Category:ASP.NET| ]] | ||
[[Category:2002 software]] | [[Category:2002 software]] | ||
[[Category:Microsoft application programming interfaces]] | [[Category:Microsoft application programming interfaces]] | ||
[[Category:Microsoft free software]] | [[Category:Microsoft free software]] | ||
Latest revision as of 15:00, 21 December 2025
Template:Short description Script error: No such module "Distinguish". Script error: No such module "For". Script error: No such module "Infobox".Template:Template other Script error: No such module "Check for unknown parameters".Script error: No such module "Check for conflicting parameters". Script error: No such module "Infobox".Template:Template otherScript error: No such module "Check for unknown parameters".
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.Script error: No such module "Unsubst".
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.[1] ASP.NET is built on the Common Language Runtime (CLR), allowing programmers to write ASP.NET code using any supported .NET language.[2] 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 (model–view–controller) 6.[3]
Programming models
Script error: No such module "Labelled list hatnote". ASP.NET supports a number of programming models for building web applications:[4]
- 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.[5]
- ASP.NET Web API – A framework for building Web APIs on top of the .NET Framework.[6]
- 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.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 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.[7]
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 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.
Versions
ASP.NET's release history tightly correlates with the .NET Framework releases:
| Date | Version | Remarks | New ASP.NET related features |
|---|---|---|---|
| January 16, 2002 | Template:Version | First version released together with Visual Studio .NET |
|
| April 24, 2003 | Template:Version | released together with Windows Server 2003 released together with Visual Studio .NET 2003 |
|
| November 7, 2005 | Template:Version |
codename Whidbey |
|
| November 21, 2006 | Template:Version | Released with Windows Vista |
|
| November 19, 2007 | Template:Version | Released with Visual Studio 2008 and Windows Server 2008 |
|
| August 11, 2008 | Template:Version | Released with Visual Studio 2008 Service Pack 1 |
|
| April 12, 2010 | Template:Version | 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 | Template:Version | Released with Visual Studio 2012 and Windows Server 2012 for Windows 8
Parallel extensions and other .NET Framework 4.5 features |
|
| October 17, 2013 | Template:Version | Released with Visual Studio 2013[8] for Windows Server 2012 R2 and Windows 8.1 | |
| May 5, 2014[9] | Template:Version |
| |
| July 20, 2015[9] | Template:Version | Released[10] with Visual Studio 2015[11] and EF 7 Previews for Windows Server 2016 and Windows 10 |
|
| November 30, 2015[9] | Template:Version | ||
| August 2, 2016[9] | Template:Version |
| |
| April 11, 2017[9] | Template:Version | Included in the Windows 10 Creators Update[12] |
|
| October 17, 2017[9] | Template:Version | Included in the Windows 10 Fall Creators Update.[13] |
|
| April 30, 2018[9] | Template:Version | ||
| August 09, 2022[9] | Template:Version | Released[14] | |
| November 18, 2015 | Template:Version | This version was later separated from ASP.NET and brought into a new project called ASP.NET Core, whose versioning started at 1.0.[15] | An entirely new project with different development tenets and goals |
| Template:Version | |||
Other implementations
The Mono Project supports "everything in .NET 4.7 except WPF, WWF, and with limited WCF and limited ASP.NET async stack."[16] ASP.NET can be run with Mono using one of three options: Apache hosting using the mod_mono module, FastCGI hosting, and XSP.
References
<templatestyles src="Reflist/styles.css" />
- ↑ Cite error: Script error: No such module "Namespace detect".Script error: No such module "Namespace detect".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ a b c d e f g h Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
Script error: No such module "Check for unknown parameters".
External links
Template:Sister project Template:Prone to spam
- Script error: No such module "Official website".Script error: No such module "Check for unknown parameters".
- ASP.NET on MSDN
- Some of new features in ASP.NET 4 and vs 2010 IDE Template:Webarchive
Template:.NET Framework Script error: No such module "Navbox". Script error: No such module "Navbox". Template:Microsoft FOSS Script error: No such module "Navbox". Template:Authority control