Skip to main content

ASP.NET Dynamic Compilation

In ASP.NET Web Applications, When we request a page it must parse and compile the code of Web Application into one or more assemblies. When the code is compiled, it's translated into a language independent and CPU independent code, that's MSIL code.

When we create an ASP.NET page, actually creating the source code for a .NET class. We are creating a new instance of the System.Web.UI.Page class.The entire contents of an ASP.NET page, including all script and HTML content, are compiled into a .NET class.

When request an ASP.NET page, ASP.NET Framework checks for a .NET class that corresponds to that page. If a corresponding class does not exist, the Framework automatically compiles the page into a new class and stores the compiled class (the assembly) in the Temporary ASP.NET Files folder.

The Temporary ASP.NET files folder located at :

\WINDOWS\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files

The next time anyone requests the same page in the future, the page is not compiled again. The previously compiled class is executed, and the results are returned to the browser. Even if we unplug our web server, and start up web server again after some years, the next time someone requests the same page, the page does not need to be recompiled. The compiled class is preserved in the Temporary ASP.NET Files folder until the source code of application is modified. When the class is added to the Temporary ASP.NET Files folder, a file dependency is created between the class and the original ASP.NET page. If the ASP.NET page is modified in any way, the  corresponding .NET class is automatically deleted. The next time someone requests the page, the Framework automatically compiles the modified page source into a
new .NET class. This process is called Dynamic Compilation.

The Dynamic Compilation enables ASP.NET applications to support thousands of simultaneous users. Unlike an ASP Classic page, for example, an ASP.NET page does not need to be parsed and compiled every time it is requested. An ASP.NET page is compiled only when an application is modified.

Happy Programming........

Comments

Popular posts from this blog

Face to Face Interview for 5+ years experienced .Net Developers

Interviewer: Hi Loganathan, Good morning. How are you? Me: Great, How are you? Interviewer: I'm good. Can brief about yourself? Me: Well, I started my career with .Net framework 2.0 then worked on 3.5 and 4.0 frameworks as well. So, I can work on any frameworks. I've no chance to develop a desktop application. From the begining I'm working as a pure Web developer. Initially started with ASP.Net web applications development and moved to Silverlight applications. I've well experience in C#, SQL Server 2005/2008 and WCF. I used Microsoft Enterprise Library Application blocks and LINQ in my applications. I worked in both Waterfall model and Agile model environments. Currently working as a Senior Developer. My roles and responsibilities are developing controls in Silverlight, writing WCF methods and consuming them in our applications, writing new stored procedures or modifying, doing unit testing and code review. Interviewer: Great, Can you explain about your curren...

Large Volume of Dataset Transfer from WCF to Silverlight

Most of the times the developers, architects have the problem to retrieve large volume of data from WCF Service to Silverlight client applications. It’s a big head ache for developers. But it’s not up to that much problematic one. We can solve this problem by changing some property’s values in Web.config of WCF Service host, Silverlight application’s ServiceReference.clientconfig and Silverlight XAP hosted ASP.Net Applications. Here I’m going to explain the Web.config changes we need to retrieve large volume of data from WCF Service and also uploading large size of files to the Server. Last week, I was trying to figure out why my WCF service call always threw the generic NotFound exception when trying to retrieve large datasets. Even though, I set buffer limits to 2147483647 (int.MaxValue) in the Silverlight ServiceReferences.ClientConfig file and WCF Service configuration Section under web.config the problem was persisting. I tried so many things from Data Access Layer and UI....

Multiplication Table in SQL Server

Multiplication Table in SQL Server This query gives the multiplication table from 1 to 10. DECLARE @A INT,                   @B INT,                   @C INT,                   @D VARCHAR (100)                   SELECT @A=1                  PRINT ' MULTIPLICATION TABLE 1-10' /****************************************/ /* Created By : Loganathan V */ /* Created On: 20-Sep-2010, Monday */ /* Purpose : Multiplication Table */ /* How to : RUN THE QUERY */ /****************************************/ WHILE (@A<=10) BEGIN   ...

Unity vs MEF in Prism

Prism offering two injection containers named Unity and MEF. Both the containers have their own capabilities. Before choosing the container decide your environment needs. Some of the capabilities provided by both ( Unity & MEF ) containers include the following: Both register types with the container. Both register instances with the container. Both imperatively create instances of registered types. Both inject instances of registered types into constructors. Both inject instances of registered types into properties. Both have declarative attributes for marking types and dependencies that need to be managed. Both resolve dependencies in an object graph. Unity provides several capabilities that MEF does not: Unity resolves concrete types without registration. Unity resolves open generics. Unity uses interception to capture calls to objects and add additional functionality to the target object. MEF provides several capabilities that Unity does not:...

One or more ActiveX controls could not be displayed because..... in Outlook

Some times We've facing this problem in Microsoft Outlook. While trying to add the images to our mails or Opening some emails. 1) Your current security settings prohibit running ActiveX controls on this page, or 2) You have blocked a publisher of one of the controls As a result, the page may not display correctly. To resolve this problem follow these steps. In Microsoft Outlook : Go to Tools > Options > Mail Format > Message Format Check the options " Use MS Office Word to ....". Happy Mailing..........................