The ASP.NET application codes can be created in Visual Basic, Jscript, C# and J#. The web controls are useful for configuring, managing, assembling the code for HTML page creation. Web Forms model in ASP.NET The event driven model is used for interaction with web applications. A request is sent to the browser. The browser submits the web form to the server and the markup page as a response to the client. Web form is programming model used for developing the web applications. The web forms are compiled and executed, resulting HTML for displaying the web pages. There are various web controls, web components useful for coding. The forms are based on the ASP.NET technology. The web page output is dynamically generated as the output. It is compatible with any browser. Language compatibility is also provided. User can easily add controls to it. The HTTP protocol is useful for communication. It is a stateless protocol. The information is saved in page state or session state. The page state contains data from the input fields in the web form. The session state consists of information from pages user has accessed. The runtime passes the page state to and from the server across page requests during the ASP.NET runtime code generation. The server is known about the application state. The advantages of using the web forms model are as listed below: Event driven programming model: The web applications can write the event handler for various events on client and server side. The framework captures the client event, transfers it to the server, corresponding method is called. It is maintained internally and the user is not aware of the process. Consistent object model: The framework presents an object model which helps user assume forms as a unit. The server controls work similar to the client controls. Browser independent: The application logic is created on the server. User does not need to code individually for various browsers. Framework scalable server: The web applications can be scaled from one system to multi processor system. State management: The state is automatically maintained for the pages and controls. The heavy server resources are not used, nor are cookies sent to the browser. Common Language Runtime support: The .Net framework is created on the ASP.NET page framework. The applications can be written in language compatible with the runtime. Component model in ASP.NET ASP.NET component model provides blocks for ASP.NET pages. The model states the server side components as HTML elements or tag, sever controls useful for creating user interface. The component based model makes it easy to interact in any environment. The ASP.NET technology is based on framework consisting of web related functionalities. The requested ASP.NET page is processed by the ASP.NET runtime engine. .NET Framework components There are various components of .NET framework. The following figure shows the .NET framework. 1. Common Language Runtime The common language runtime is a layer between the operating system and .NET language applications. It is an environment used for executing the .net applications. The Common Language Runtime ( CLR ) is used for converting the managed code into native code. The code can be executed by the program. The Just In Time ( JIT ) compiler is used for converting the Microsoft Intermediate Language ( MSIL ) to native code. The runtime manages execution of threads, garbage collection, common type system, memory management, code safety. The Common Type System ( CTS ) is a standard type system used by all the programming languages. 2. .NET framework class library The Framework Class Library ( FCL ) is used for providing the core functionality. The library is a collection of reusable classes, value types, and interfaces useful for optimizing the development. The class library is divided into a tree structure and is further divided into namespaces. The namespace is a logical group of types. It provides base types that can be used across any platform. The classes present in the assemblies can be accessed using the namespaces. The root namespace is the System namespace. 3. Common Language Specification The Common Language Specification ( CLS ) consist of basic language features used for developing applications and services. The CLS ensures interoperability among applications. It is independent of the language the code is created. The CLS defines a subset of Common Type System ( CTS ). The CTS defines the set of types used by various .net languages. 4. Common Type System The Common Type System ( CTS ) defines a set of types used by different .net languages. There are two types as value type and reference types. The value types are passed by values and saved on the stack. The reference type are passed by reference and saved on a heap. The data type provided by CTS is used for cross language integration. 5. Windows Forms Windows form is a graphical user interface used for creating rich client applications for PC’s, desktop, laptop, etc. It is an event driven application used along with the .net framework. 6. Metadata and assemblies Metadata is binary information which explains characteristics of a resource. The metadata contains data types, assembly description, reference to other data types, security permissions, etc. The manifest file is used for storing the information about metadata and Intermediate language. The Portable Executable ( PE ) file contains metadata and MSIL. The JIT compiler uses the metadata and converts the MSIL into native code. .NET assembly contains code which the CLR executes. The assembly can be a .dll or .exe file. The assembly consists of different types and resources built for executing together. 7. ASP.NET and AJAX ASP.NET is used for creating web applications in .NET. AJAX helps user update the data without complete page reloads. 8. Windows Workflow Foundation Window Workflow Foundation is used for creating windows applications. The application consists of workflow runtime, activities, designer, and rules engine. 9. ADO.NET ADO.NET is useful for communicating with the databases. User can access data sources like SQL Server, XML, OLE DB, ODBC, etc. User can insert, update, delete, and retrieve data using various ADO.NET functions. 10. Windows Presentation Foundation The Windows Presentation foundation provides separation of user interface and the implementation logic. User can add animations, graphics, media, etc to the project. 11. Windows Communication Foundation Windows Communication Foundation provides communication among various connected systems. 12. LINQ Language Integrated Query ( LINQ ) extends the language by adding query expressions. They are used for extracting data from classes, XML, databases, etc.