The common type system is a rich type system, built into the common language runtime that supports the types and operations found in most programming languages. The common type system supports the complete implementation of a wide range of programming languages.
Common Language Runtime – It is the implementation of CLI. It is the core runtime engine in the Microsoft .NET Framework for executing applications. The common language runtime supplies managed code with services such as cross-language integration, code access security, object lifetime management, resource management, type safety, pre-emptive threading, metadata services (type reflection), and debugging and profiling support. The ASP.NET Framework and Internet Explorer are examples of hosting CLR.
The CLR is a multi-language execution environment. There are currently over 15 compilers being built by Microsoft and other companies that produce code that will execute in the CLR.
The CLR is described as the “execution engine” of .NET. It’s this CLR that manages the execution of programs. It provides the environment within which the programs run. The software version of .NET is actually the CLR version.
When the .NET program is compiled, the output of the compiler is not an executable file but a file that contains a special type of code called the Microsoft Intermediate Language (MSIL, now called CIL, Common Intermediate Language). This MSIL defines a set of portable instructions that are independent of any specific CPU. It’s the job of the CLR to translate this Intermediate code into a executable code when the program is executed making the program to run in any environment for which the CLR is implemented. And that’s how the .NET Framework achieves Portability. This MSIL is turned into executable code using a JIT (Just In Time) complier. The process goes like this, when .NET programs are executed, the CLR activates the JIT complier. The JIT complier converts MSIL into native code on a demand basis as each part of the program is needed. Thus the program executes as a native code even though it is compiled into MSIL making the program to run as fast as it would if it is compiled to native code but achieves the portability benefits of MSIL.
A programming infrastructure created by Microsoft for building, deploying, and running applications and services that use .NET technologies, such as desktop applications and Web services.
The .NET Framework contains three major parts:
• the Common Language Runtime
• the Framework Class Library
Syntax error : These include misspelled or missing keywords, or other mistakes relating to the syntax of the language.
Runtime error : These errors are caused by the code that appears correct to the compiler, but that cannot run with certain values.
Logic error : These are errors in which a program that works correctly under some circumstances gives unexpected or unwanted results based on certain input valu
Attributes are a mechanism for adding metadata, such as compiler instructions and other data about your data, methods, and classes, to the program itself. Attributes are inserted into the metadata and are visible through ILDasm and other metadata-reading tools. Attributes can be used to identify or use the data at runtime execution using .NET Reflection.
stack is used to store variable data of fixed length.
stack is LIFO i.e. one the last item in stack is first served and also removed first.
Heap is used to store data whose size and length can only be determined at runtime and are subjected to change.
But a reference to that data is stored on the stack.
so anything in our Heap can be accessed at any time.
State is quite an innovative concept in Web development because it eliminates the drawback of losing state data due to reloading of a Web page. By using states in a Web application, you can preserve the state of the application either at the server or client end. The state of a Web application helps you to store the runtime changes that have been made to the Web application.