ASP.NET is an open-source server-side web application system intended for web advancement to create dynamic site pages. It was created by Microsoft to enable software engineers to manufacture dynamic sites, web applications and web administrations.

It was first discharged in January 2002 with variant 1.0 of the .NET Framework, and is the successor to Microsoft’s Active Server Pages (ASP) innovation. ASP.NET is based on the Common Language Runtime (CLR), enabling software engineers to compose ASP.NET code utilizing any upheld .NET dialect. The ASP.NET SOAP expansion structure enables ASP.NET parts to process SOAP messages.

ASP.NET’s successor is ASP.NET Core. It is a re-usage of ASP.NET as a secluded web structure, together with different systems like Entity Framework. The new system utilizes the new open-source .NET Compiler Platform (codename “Roslyn”) and is cross stage. ASP.NET MVC, ASP.NET Web API, and ASP.NET Web Pages (a stage utilizing just Razor pages) have converged into a bound together MVC 6.


ASP.NET Web pages, referred to authoritatively as Web Forms, are the principle building obstructs for application advancement in ASP.NET. There are two fundamental systems for Web Forms, a web application organize and a site format. Web applications should be aggregated before organization, while sites structures enables the client to duplicate the documents straightforwardly to the server without earlier gathering. Web frames are contained in documents with an “.aspx” augmentation; these records commonly contain static (X)HTML markup or segment markup. The part markup can incorporate server-side Web Controls and User Controls that have been characterized in the system or the page. For instance, a textbox part can be characterized on a page as <asp:textbox id=’myid’ runat=’server’>, which is rendered into a html input box. Moreover, dynamic code, which keeps running on the server, can be put in a page inside a piece <% – dynamic code – %>, which is like other Web advancement innovations, for example, PHP, JSP, and ASP. With ASP.NET Framework 2.0, Microsoft presented another code-behind model that gives static content a chance to stay on the .aspx page, while dynamic code stays in an .aspx.vb or .aspx.cs or .aspx.fs record (contingent upon the programming dialect utilized).

Code-behind model

Microsoft suggests managing dynamic program code by utilizing the code-behind model, which puts this code in a different record or in an extraordinarily assigned content tag. Code-behind documents regularly have names like “MyPage.aspx.cs” or “MyPage.aspx.vb” while the page record is MyPage.aspx (same filename as the page document (ASPX), yet with the last expansion signifying the page dialect). This training is programmed in Visual Studio and different IDEs, however the client can change the code-behind page. Additionally, in the web application design, the pagename.aspx.cs is an incomplete class that is connected to the pagename.designer.cs document. The fashioner record is a record that is autogenerated from the ASPX page and enables the software engineer to reference segments in the ASPX page from the CS page without declaring them physically, as was fundamental in ASP.NET forms before rendition 2.When utilizing this style of programming, the designer composes code to react to various occasions, for example, the page being stacked, or a control being clicked, instead of a procedural walkthrough of the report.

ASP.NET’s code-behind model denotes a takeoff from Classic ASP in that it urges designers to fabricate applications considering division of introduction and substance. In principle, this would permit a Web originator, for instance, to center around the plan markup with less potential for irritating the programming code that drives it. This is like the division of the controller from the view in model– view– controller (MVC) structures.


A directive is a special instruction on how ASP.NET should process the page. The most common directive is <%@ Page %>, which can specify many attributes used by the ASP.NET page parser and compiler.

<!-- Web.Config CFile -->

        <customErrors mode="on"/>

User controls

User controls are encapsulations of sections of page sections that are registered and used as controls in ASP.NET.

Custom controls

Developers can likewise manufacture custom controls for ASP.NET applications. Not at all like client controls, these controls don’t have an ASCX markup document, having all their code aggregated into a dynamic connection library (DLL) record. Such custom controls can be utilized over different Web applications and Visual Studio 2013 tasks.

Rendering technique

.NET uses a “went by composites” rendering procedure. Amid aggregation, the layout (.aspx) document is assembled into instatement code that manufactures a control tree (the composite) speaking to the first format. Strict content goes into occasions of the Literal control class, and server controls are spoken to by occurrences of a particular control class. The introduction code is joined with client composed code (more often than not by the get together of numerous fractional classes) and results in a class particular for the page. The page serves as the base of the control tree.

Real asks for the page are prepared through various advances. In the first place, amid the introduction steps, an example of the page class is made and the instatement code is executed. This creates the underlying control tree, which is currently normally controlled by the techniques for the page in the accompanying advances. As every hub in the tree is a control spoke to as an example of a class, the code may change the tree structure and control the properties/strategies for the individual hubs. At last, amid the rendering stage a guest is utilized to visit each hub in the tree, requesting that every hub render itself utilizing the techniques for the guest. The subsequent HTML yield is sent to the customer.

After the demand has been prepared, the occurrence of the page class is disposed of and with it the whole control tree. This is a wellspring of disarray among beginner ASP.NET software engineers who depend on the class occurrence individuals that are lost with each page ask for/reaction cycle.

State management

ASP.NET applications are facilitated by a Web server and are gotten to utilizing the stateless HTTP convention. In that capacity, if an application utilizes stateful cooperation, it needs to execute state administration all alone. ASP.NET gives different capacities to state administration. Adroitly, Microsoft treats “state” as GUI state. Issues may emerge if an application must track “information state”; for instance, a limited state machine that might be in a transient state between demands (sluggish assessment) or sets aside a long opportunity to introduce. State administration in ASP.NET pages with confirmation can make Web scratching troublesome or unimaginable.


Application state is held by a gathering of shared client characterized factors. These are set and instated when the Application_OnStart occasion fires on the stacking of the main example of the application and are accessible until the point when the last occurrence exits. Application state factors are gotten to utilizing the Applications gathering, which gives a wrapper to the application state. Application state factors are distinguished by name.Application is state administration.

Session state

Server-side session state is held by an accumulation of client characterized session factors that are diligent amid a client session. These factors, got to utilizing the Session gathering, are one of a kind to every session occurrence. The factors can be set to be naturally obliterated after a characterized time of dormancy regardless of whether the session does not end. Customer side client session is kept up by either a treat or by encoding the session ID in the URL itself.

ASP.NET bolsters three methods of tirelessness for server-side session factors:

In-process mode

The session factors are kept up inside the ASP.NET procedure. This is the quickest path; in any case, in this mode the factors are pulverized when the ASP.NET procedure is reused or closed down.

State server mode

ASP.NET runs a different Windows benefit that keeps up the state factors. Since state administration occurs outside the ASP.NET procedure, and in light of the fact that the ASP.NET motor gets to information utilizing .NET Remoting, ASPState is slower than In-Process. This mode permits an ASP.NET application to be stack adjusted and scaled over numerous servers. Since the state administration benefit runs freely of ASP.NET, the session factors can hold on crosswise over ASP.NET process shutdowns. Be that as it may, since session state server keeps running as one case, it is as yet one purpose of disappointment for session state. The session-state benefit can’t be stack adjusted, and there are confinements on types that can be put away in a session variable.

SQL Server mode

State factors are put away in a database, enabling session factors to be held on crosswise over ASP.NET process shutdowns. The fundamental preferred standpoint of this mode is that it enables the application to adjust stack on a server group, sharing sessions between servers. This is the slowest technique for session state administration in ASP.NET.

ASP.NET session state empowers you to store and recover esteems for a client as the client explores ASP.NET pages in a Web application. HTTP is a stateless convention. This implies a Web server treats every HTTP ask for a page as an autonomous demand. The server holds no information of variable qualities that were utilized amid past solicitations. ASP.NET session state recognizes demands from an indistinguishable program amid a constrained time window from a session, and gives an approach to continue variable qualities for the span of that session. As a matter of course, ASP.NET session state is empowered for all ASP.NET applications.

Alternatives to session state include the following:

  • Application state, which stores variables that can be accessed by all users of an ASP.NET application.
  • Profile properties, which persists user values in a data store without expiring them.
  • ASP.NET caching, which stores values in memory that is available to all ASP.NET applications.
  • View state, which persists values in a page.
  • Cookies.
  • The query string and fields on an HTML form that are available from an HTTP request.
View state

View state alludes to the page-level state administration instrument, used by the HTML pages produced by ASP.NET applications to keep up the condition of the Web frame controls and gadgets. The condition of the controls is encoded and sent to the server at each frame accommodation in a shrouded field known as __VIEWSTATE. The server sends back the variable so that, when the page is re-rendered, the controls render at their last state. At the server side, the application may change the viewstate, if the handling requires a difference in condition of any control. The conditions of individual controls are decoded at the server, and are accessible for use in ASP.NET pages utilizing the ViewState gathering.

The principle use for this is to save shape data crosswise over postbacks. View state is turned on naturally and regularly serializes the information in each control on the page paying little respect to whether it is really utilized amid a postback. This conduct can (and should) be adjusted, be that as it may, as View state can be handicapped on a for every control, per-page, or broad premise.

Designers should be careful about putting away delicate or private data in the View condition of a page or control, as the base64 string containing the view state information can without much of a stretch be de-serialized. Of course, View state does not scramble the __VIEWSTATE esteem. Encryption can be empowered on an all inclusive (and server-particular) premise, taking into consideration a specific level of security to be kept up.

Server-side caching

ASP.NET offers a “Cache” object that is shared across the application and can also be used to store various objects. The “Cache” object holds the data only for a specified amount of time and is automatically cleaned after the session time-limit elapses.