ASP.NET

ASP.NET is an open-source[2] 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, web applications and web services.

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.[3]

ASP.NET
Developer(s)Microsoft
Initial releaseJanuary 5, 2002
Stable release
4.7.1 / October 17, 2017[1]
Written in.NET languages
Operating systemMicrosoft Windows, Linux, macOS
TypeWeb framework
LicenseApache License 2.0
Websiteasp.net
ASP.NET
Filename extension.aspx, .cshtml, .vbhtml
Internet media typetext/html
Developed byMicrosoft

Programming models

ASP.NET supports a number of programming models for building web applications:[4]

Other ASP.NET extensions include:

  • ASP.NET Handler: Are 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.[7]

Development tools

Several available software packages exist for developing ASP.NET applications:

Software Developer Licensing
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
Rider JetBrains Proprietary

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

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

  • 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 Old version, no longer supported: 1.1 released together with Windows Server 2003

released together with Visual Studio .NET 2003

  • Mobile controls
  • Automatic input validation
November 7, 2005 Old version, no longer supported: 2.0

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 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
  • 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 Old version, no longer supported: 3.5 Service Pack 1 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 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[8] for Windows Server 2012 R2 and Windows 8.1
May 5, 2014[9] Older version, yet still supported: 4.5.2
  • Higher reliability HTTP header inspection and modification methods
  • New way to schedule background asynchronous worker tasks
July 29, 2015[9] Older version, yet still supported: 4.6 Released[10] with Visual Studio 2015[11] 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[9] Older version, yet still supported: 4.6.1
August 2, 2016[9] Older version, yet still supported: 4.6.2
  • Improved async support (output-cache and session providers)
April 11, 2017[9] Older version, yet still supported: 4.7 Included in the Windows 10 Creators Update[12]
  • operating system support for TLS protocols
October 17, 2017[9] Current stable version: 4.7.1 Included in the Windows 10 Fall Creators Update.[13]
  • Improved accessibility
  • Value tuple types serialization
  • SHA-2 support
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.[14] An entirely new project with different development tenets and goals
Legend:
Old version
Older version, still supported
Latest version
Latest preview version
Future release

Other implementations

The Mono Project supports "everything in .NET 4.5 except WPF, WWF, and with limited WCF and limited ASP.NET 4.5 async stack."[15] ASP.NET can be run with Mono using one of three options:- Apache hosting using the mod_mono module, FastCGI hosting, and XSP.

References

Citations

  1. ^ "Announcing the .NET Framework 4.7.1".
  2. ^ "ASP.NET is part of a great open source .NET community". Microsoft. May 14, 2013.
  3. ^ "Introduction to ASP.NET 5 — ASP.NET 0.0.1 documentation". asp.net.
  4. ^ "Choose between ASP.NET and ASP.NET Core". docs.microsoft.com.
  5. ^ "ASP.NET Web Pages (Razor) FAQ". docs.microsoft.com.
  6. ^ "Get Started with ASP.NET Web API 2 (C#)". docs.microsoft.com.
  7. ^ "How to Take Advantage of the IIS 7.0 Integrated Pipeline". iis.net.
  8. ^ "Announcing release of ASP.NET and Web Tools for Visual Studio 2013".
  9. ^ a b c d e f ".net framework product lifecycle".
  10. ^ "Announcing .NET Framework 4.6".
  11. ^ "Visual Studio 2015 and Visual Studio 2013 Update 5 Released". msdn.com. Microsoft.
  12. ^ "Announcing the .NET Framework 4.7".
  13. ^ "Announcing the .NET Framework 4.7.1".
  14. ^ "Releases". GitHub.
  15. ^ "Compatibility | Mono". Compatibility | Mono. 8 September 2015. Archived from the original on 2 July 2016. Retrieved 29 August 2016.

Sources

  • MacDonald, Matthew; Szpuszta, Mario (2005). Pro ASP.NET 2.0 in C# 2005 (1st ed.). Apress. ISBN 1-59059-496-7.

External links

.NET Foundation

The .NET Foundation is an organization incorporated on March 31, 2014, by Microsoft to improve open-source software development and collaboration around the .NET Framework. It was launched at the annual Build 2014 conference held by Microsoft. The foundation is license-agnostic, and projects that come to the foundation are free to choose any open-source license, as defined by the Open Source Initiative (OSI). The foundation uses GitHub to host the open-source projects it manages.Anyone who has contributed to .NET Foundation projects can apply to be a .NET Foundation member. Members can vote in elections for the board of the directors and will preserve the health of the organization.The foundation began with twenty-four projects under its stewardship including .NET Compiler Platform ("Roslyn") and the ASP.NET family of open-source projects, both open-sourced by Microsoft Open Technologies, Inc. (MS Open Tech). Xamarin contributed six of its projects including the open source email libraries MimeKit and MailKit. As of April 2019, it is the steward of 556 projects, including: .NET Core, Entity Framework (EF), Managed Extensibility Framework (MEF), Umbraco, MSBuild, NuGet, Orchard CMS and WorldWide Telescope. Many of these projects are also listed under Outercurve Foundation project galleries.

Its board of directors consists of Scott Hunter (Microsoft), Miguel de Icaza (Microsoft-owned Xamarin), and Oren Novotny.

.NET Framework

.NET Framework (pronounced as "dot net") is a software framework developed by Microsoft that runs primarily on Microsoft Windows. It includes a large class library named as Framework Class Library (FCL) and provides language interoperability (each language can use code written in other languages) across several programming languages. Programs written for .NET Framework execute in a software environment (in contrast to a hardware environment) named the Common Language Runtime (CLR). The CLR is an application virtual machine that provides services such as security, memory management, and exception handling. As such, computer code written using .NET Framework is called "managed code". FCL and CLR together constitute the .NET Framework.

FCL provides user interface, data access, database connectivity, cryptography, web application development, numeric algorithms, and network communications. Programmers produce software by combining their source code with .NET Framework and other libraries. The framework is intended to be used by most new applications created for the Windows platform. Microsoft also produces an integrated development environment largely for .NET software called Visual Studio.

.NET Framework began as proprietary software, although the firm worked to standardize the software stack almost immediately, even before its first release. Despite the standardization efforts, developers, mainly those in the free and open-source software communities, expressed their unease with the selected terms and the prospects of any free and open-source implementation, especially regarding software patents. Since then, Microsoft has changed .NET development to more closely follow a contemporary model of a community-developed software project, including issuing an update to its patent promising to address the concerns.

.NET Framework led to a family of .NET platforms targeting mobile computing, embedded devices, alternative operating systems, and web browser plug-ins. A reduced version of the framework, .NET Compact Framework, is available on Windows CE platforms, including Windows Mobile devices such as smartphones. .NET Micro Framework is targeted at very resource-constrained embedded devices. Silverlight was available as a web browser plugin. Mono is available for many operating systems and is customized into popular smartphone operating systems (Android and iOS) and game engines. .NET Core targets the Universal Windows Platform (UWP), and cross-platform and cloud computing workloads.

ASP.NET AJAX

ASP.NET AJAX, formerly called Atlas, is a set of extensions to ASP.NET developed by Microsoft for implementing Ajax functionality. It is released under the Microsoft Public License (Ms-PL).

ASP.NET Core

ASP.NET Core is a free and open-source web framework, and higher performance than ASP.NET, developed by Microsoft and the community. It is a modular framework that runs on both the full .NET Framework, on Windows, and the cross-platform .NET Core. However the expected version ASP.NET Core 3 was announced to work only on .NET Core dropping support of .NET Framework.The framework is a complete rewrite that unites the previously separate ASP.NET MVC and ASP.NET Web API into a single programming model.

Despite being a new framework, built on a new web stack, it does have a high degree of concept compatibility with ASP.NET MVC. ASP.NET Core applications supports side by side versioning in which different applications, running on the same machine, can target different versions of ASP.NET Core. This is not possible with previous versions of ASP.NET.

ASP.NET Dynamic Data

ASP.NET Dynamic Data is a Ruby on Rails-inspired web application scaffolding framework from Microsoft, shipped as an extension to ASP.NET, that can be used to build data-driven web applications. It exposes tables in a database by encoding it in the URI of the ASP.NET web service, and the data in the table is automatically rendered to HTML. The process of rendering can be controlled using custom design templates. Internally, it discovers the database schema by using the database metadata.

ASP.NET Dynamic Data was originally shipped as part of the "ASP.NET 3.5 Extensions" package in 2007, and was incorporated into the .NET Framework 3.5 Service Pack 1, which was released August 11, 2008.

ASP.NET MVC

The ASP.NET MVC is a web application framework developed by Microsoft, which implements the model–view–controller (MVC) pattern. It is open-source software, apart from the ASP.NET Web Forms component which is proprietary.

In the later versions of ASP.NET, ASP.NET MVC, ASP.NET Web API, and ASP.NET Web Pages (a platform using only Razor pages) will merge into a unified MVC 6.

ASP.NET Razor

Razor is an ASP.NET programming syntax used to create dynamic web pages with the C# or VB.NET programming languages. Razor was in development in June 2010 and was released for Microsoft Visual Studio 2010 in January 2011. Razor is a simple-syntax view engine and was released as part of MVC 3 and the WebMatrix tool set.

ASP.NET Web Forms

ASP.NET Web Forms is a web application framework and one of several programming models supported by the Microsoft ASP.NET technology. Web Forms applications can be written in any programming language which supports the Common Language Runtime, such as C# or Visual Basic. Main building blocks of Web Forms pages are server controls, which are reusable components responsible for rendering HTML markup and responding to events. A technique called view state is used to persist the state of server controls between normally stateless HTTP requests.Web Forms was included in the original .NET Framework 1.0 release in 2002 (see .NET Framework version history and ASP.NET version history), as the first programming model available in ASP.NET. Unlike newer ASP.NET components, Web Forms is not supported by ASP.NET Core.

Active Server Pages

Active Server Pages (ASP), later known as Classic ASP or ASP Classic, is Microsoft's first server-side script engine for dynamically generated web pages.

ASP.NET, first released in January 2002, has superseded ASP.

Adobe Dreamweaver

Adobe Dreamweaver is a proprietary web development tool from Adobe Inc.. It was created by Macromedia in 1997 and developed by them until Macromedia was acquired by Adobe Systems in 2005.Adobe Dreamweaver is available for the macOS and Windows operating systems.

Following Adobe's acquisition of the Macromedia product suite, releases of Dreamweaver subsequent to version 8.0 have been more compliant with W3C standards. Recent versions have improved support for Web technologies such as CSS, JavaScript, and various server-side scripting languages and frameworks including ASP (ASP JavaScript, ASP VBScript, ASP.NET C#, ASP.NET VB), ColdFusion, Scriptlet, and PHP.

HTTP handler

An ASP.NET HTTP handler is a process that runs in response to a request made to an ASP.NET Web application. The most common handler is the ASP.NET page handler that processes .aspx files. When users request an .aspx file, the request is processed by the page through the page handler.

HTTP handlers were not present in the "Classic" ASP. They 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.

An HTTP module is an assembly that is called on every request that is made to your application. HTTP modules are called as part of the ASP.NET request pipeline and have access to life-cycle events throughout the request. HTTP modules let you examine incoming and outgoing requests and take action based on the request.

Unlike pages, that have ".aspx" file extension, ASP.NET handlers by default have ".ashx" file extension.

Handlers are considered to be more lightweight object than pages. That's why they are used to serve dynamically-generated images, on-the-fly generated PDF-files and similar content to the web browser.

Internet Information Services

Internet Information Services (IIS, formerly Internet Information Server) is an extensible web server created by Microsoft for use with the Windows NT family. IIS supports HTTP, HTTP/2, HTTPS, FTP, FTPS, SMTP and NNTP. It has been an integral part of the Windows NT family since Windows NT 4.0, though it may be absent from some editions (e.g. Windows XP Home edition), and is not active by default.

List of content management systems

This is a list of notable content management systems that are used to organize and facilitate collaborative content creation. Many of them are built on top of separate content management frameworks.

Microsoft WebMatrix

Microsoft WebMatrix is a discontinued cloud-connected website builder and HTML editor for Windows, geared towards web development. WebMatrix enables developers to build websites using built-in templates or popular open-source applications, with full support for ASP.NET, PHP, Node.js and HTML5. Microsoft developed WebMatrix for the purpose of providing web developers with coding, customization, and publishing capabilities all in one place.

Mod mono

mod_mono is a module for the Apache HTTP Server that allows for hosting of ASP.NET pages and other assemblies on multiple platforms by use of the Mono development platform.

A similar module called mod_aspdotnet by another group allows hosting of ASP.NET pages and other assemblies with the Microsoft .NET framework but because of that dependency, will only function on Windows platforms.

MonoRail (software)

MonoRail (formerly called Castle on Rails), a component of the Castle Project, is an open source web application framework built on top of the ASP.NET platform. Inspired by Ruby on Rails Action Pack, MonoRail differs from standard ASP.NET Web Forms development by enforcing separation of concerns using a model–view–controller (MVC) architecture. The framework is commonly used in conjunction with Castle ActiveRecord, an ORM layer built on NHibernate. In January 2010, version 2.0 of MonoRail was released, however, many projects use the trunk version of the source to take advantage of new features without waiting for official releases.

Although the project's name is MonoRail, it does not have any affiliation with the Mono project.

OpenRasta

OpenRasta is a development framework targeting the Microsoft .NET platform for building web-based applications and services, and distributed under an Open-Source MIT License.

By focusing development around resources and HTTP methods, OpenRasta simplifies the creation of ReST-friendly interfaces.

Developed to respect modern development practices, coming prepackaged with an inversion of control container, and enforcing the use of dependency injection throughout the framework, OpenRasta is a framework implementing an architectural pattern close to Model–View–Controller, called Resource–Codec–Handler.

OpenRasta also supports advanced HTTP features such as content negotiation, digest access authentication and full control of response codes sent back to a client.Hosting of an application built on OpenRasta is available through ASP.NET, in-memory, in-process through Windows' HTTP APIs, or through any other environment able to receive HTTP requests, as the framework itself has no dependency on ASP.NET.

Open Web Interface for .NET

OWIN (Open Web Interface for .NET) is a standard for an interface between .NET Web applications and Web servers. It is a community-owned open-source project. Prior to OWIN, Microsoft's ASP.NET technology was designed on top of IIS, and Web applications could not easily be run on another Web server (although note that despite this the Mono community developed several ASP.NET compatible Web servers, such as XSP). OWIN aims to decouple the relationship between ASP.NET applications and IIS by defining a standard interface. Developers of Web servers can be sure that, if they implement OWIN correctly, ASP.NET applications will run on their server. Similarly, new Web frameworks could be developed as an alternative to ASP.NET. So long as they target OWIN, they will run on any OWIN compatible Web server, including IIS.

In this regard, OWIN aims to do for .NET what Java Servlet and Servlet containers do for the JVM.

Project Katana is a set of OWIN components built by Microsoft.

Scott Guthrie

Scott Guthrie is an Executive Vice President of the Cloud and Enterprise group in Microsoft. He is best known for his work on ASP.NET, which he and colleague Mark Anders developed while at Microsoft.He runs the Microsoft Azure (formerly known as Windows Azure) team as well as the development teams that build Windows Server, Microsoft SQL Server, Active Directory, System Center, Visual Studio and .NET.

Guthrie graduated with a degree in computer science from Duke University. Following this, he chose to focus on his major and joined Microsoft in 1997. He frequently presents wearing a signature red shirt and speaks at many of the major Microsoft conferences.

In October 2016, Guthrie unveiled the capabilities of Microsoft’s Azure-based Dynamics 365 service in a demo at a Summit conference in Tampa, Florida.

Architecture
Components
Tools
IDEs
Organizations
Graphics
Audio
Multimedia
Web
Data access
Networking
Communication
Administration and
management
Component model
Libraries
Device drivers
Security
.NET
Software factories
IPC
Accessibility
Text and multilingual
support
Microsoft development tools
Development
environments
Languages
Major APIs and
frameworks
(see all)
Database
Source control
Delivery
C++
CLI
ColdFusion
Common Lisp
Haskell
Java
JavaScript
Perl
PHP
Python
Ruby
Scala
Smalltalk
Other languages

This page is based on a Wikipedia article written by authors (here).
Text is available under the CC BY-SA 3.0 license; additional terms may apply.
Images, videos and audio are available under their respective licenses.