ASP.NET was first announced to the public under the codename ASP+, and is a re-implementation of Microsoft'sActive Server Pages (ASP) technology.[3] ASP.NET is built on theCommon Language Runtime (CLR), allowing programmers to write ASP.NET code using any supported.NET language.[4] The ASP.NETSOAP extension framework allows ASP.NET components to process SOAP messages.
ASP.NET supports a number of programming models for building web applications:[6]
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 WebHooks – Implements theWebhook 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 theSystem.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 toISAPI extensions.
ASP.NET AJAX – An extension with both client-side as well as server-side components for writing ASP.NET pages that incorporateAjax functionality.
OnIIS 6.0 and lower, pages written using different versions of the ASP framework cannot sharesession 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.[9]
It is not essential to use the standard Web forms development model when developing with ASP.NET. Noteworthy frameworks designed for the platform include:
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.
Developers are no longer forced to use Server.CreateObject(...), so early-binding and type safety are possible.
Based onWindows 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)
TheMono Project supports "everything in .NET 4.7 exceptWPF,WWF, and with limitedWCF and limited ASP.NET async stack."[18] ASP.NET can be run with Mono using one of three options:Apache hosting using themod_mono module,FastCGI hosting, andXSP.
^MacDonald, Matthew; Szpuszta, Mario (2005).Pro ASP.NET 2.0 in C# 2005 (1st ed.). Apress. pp. 5–6.ISBN1-59059-496-7.[...] 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).