Microsoft plans to go on to invest in the .NET Framework developer platform and maintain of active users the .NET Framework 3.5 has a lowest amount of violation change. So that active applications built for .NET Framework 2.0 or .NET Framework 3.0 have to continue to run with no require changes. The .NET Framework 3.5 adds new features in quite a few main technology area including profound integration of Language Integrated Query (LINQ) and data consciousness ASP.NET AJAX for rapidly creating more well-organized, more interactive and highly-personalized Web experience that work crossways all the mainly popular browsers
Â· New web protocol hold up for building WCF services as well as AJAX, JSON, REST, POX, RSS, ATOM and some new WS-* standardsÂ· complete tooling support for WF, WCF and WPF with the new workflow enable services technologyÂ· New classes in the base class library (BCL) for the .NET Framework 3.5 address the mainly common customer requirements.
.NET framework is a Windows Component that supports the construction and running of windows applications and XML Web services. The reason to component is to give the user with a reliable object oriented programming environment whether the code is stored locally or remotely.
It aims to reduce software deployment and versioning conflict and also support safe execution of code with codes executed by trusted third party. It is heading towards eliminate routine problems of scripted or interpreted environments. The effort is to build developer experience steady across a diversity of applications and platforms and generate communication standards that assist .NET framework applications integrate with all extra web based applications.
The .NET framework has two main components. The Common Runtime (CLR) and the Class Library
The CLR is the foundation upon which the .NET Framework has been built. The runtime manage code at implementation time and provide all the core services such as memory organization, thread management and remoting. It also enforces severe type protection and ensures code accurateness in order to supply security and strength to the applications. This potential to run code at runtime is the exclusive feature of the CLR. All code that is managed by the CLR is identified as managed code at the same time as other codes are recognized as unmanaged code.
1. CLR manages memory, thread execution, code execution, collection code safety confirmation and added system services.
2. For security reason, manage code is assign unreliable degrees of belief based on source. This prevent or allow the manage component as of performing file right to use operation, registry right to use operations or additional sensitive functions yet inside the similar active application.
3. The Runtime enforce code toughness by implementing stringent type and code confirmation infrastructure call Common type System (CTS). The CTS ensures that all manage code is self relating and all Microsoft or else third party language compiler generate codes be conventional to CTS. This enable the manage code to put away other manage types and implement strict kind of reliability and type protection.
4. CLR eliminates numerous frequent software issues like conduct of object present, reference to objects as well as trash clearance. This kind of memory organization prevents memory leak and unacceptable memory reference.
5. The CLR too accelerate developer efficiency. The programmer is free of charge to prefer the language of the application with no disturbing about compatibility and integration issue. He is too enable to take benefit of the runtime plus the class library of the .NET Framework and as well produce components from extra applications written in dissimilar languages through different developers. This completely eases the process of relocation.
6. Though CLR aims to be advanced software, it lends support to obtainable applications. The interoperability between the manage and unmanaged codes makes this process tremendously simple.
7. The intend of the CLR is geared towards attractive performance. The Just in time (JIT) compiling enable managed code to run in the local machine language of the system executing it. Through the process the memory manager remove the potential of fragmented memory also increases memory locality of position to enhance presentation.
8. Finally, server side applications be able to host runtime. High performance servers similar to Microsoft SQL Server and Internet Information Services be able to host this CLR and the infrastructure to provide can be used to write business logic while enjoy the best profit of project server support.
The Class Library is an object oriented group of reusable type. It is inclusive and the type can be used to expand command line applications or GUI applications such as Web forms or else XML Web services. Unmanaged components so as to load CLR keen on their processes can be hosted by means of the .NET Framework to begin the implementation of managed code. This creates a software atmosphere that exploits both the managed and unmanaged codes. The.NET Framework as well provides a number of runtime hosts and supports third party runtime hosts
Class Library Features
1. The class library is a set of reusable type that integrate with the CLR.
It is object oriented and provides type from which user defined types can derive functionality. This makes for effortlessness of use and economy.
3. Third party components are able to be integrated flawlessly with classes in the .NET framework.
4. It enable a variety of ordinary programming tasks such as cord management, data collection plus file access.
5. It supports a diversity of particular development scenario such as relieve application development, Windows GUI applications, ASP.NET Applications, XML Web services.
The Common Type System (CTS)
A number of types are supported through the CLR and be described through the CTS. equal value types are supported primal data types and orientation types. The primitive data type include Byte, Int16, Double and Boolean at the same time as Reference types contain arrays, classes with object and string type. Reference types are types that stock up a reference to the position of their standards. The value is stored as division of a distinct class and is referenced during a class member on the case of class.
User defined value type and enumerations are resulting from the value types mentioned above.
Language compilers implement type with their own terms.
The procedure of converting a value kind of reference type and associate is called boxing and unboxing. The implicit change of a value type to a position type is referred to boxing. The explicit exchange of an object type into a precise value type is referred to as unboxing.
The Common Language Infrastructure (CLI)
A subset of the .NET framework is the CLI. The CLI include the functionality of the Common Language Runtime and condition for the Common Type System, metadata and midway language. A subset of the Framework Class Library incorporate the bottom class library, a Network library, a likeness library, an XML library and Floating point and comprehensive Array Library. The common source execution of the CLI is obtainable for in cooperation of the FreeBSD and Windows operating Systems.
The Common Language Specification (CLS)
The CLR supports the CLS and is a subset of it. In addition the CLR supports a set of rules so as to language and compiler designer follow. It provides vigorous interoperability among the .NET languages and the skill to inherit classes written in single language in any additional .NET language. Cross language debugging also becomes a option in this situation. It has to be distinguished that the CLS rules apply just to publicly uncovered features of a class.
A blueprint of an entity is called a class. All definition of a exacting object will be instantiated on runtime, its properties and method and storage space structure are distinct in the class. Classes are used in developers for creating instance of the class at runtime by the keyword "New".
This is the input part of the .NET Framework. It provide extent for mutually preinstalled framework classes and convention developed classes. Vb.NET use the "Imports" keyword to allow the use of associate names beginning of the namespace stated. C# uses the "using" keyword. In cooperation cases the System Namespace is moreover imported so as to the comfort window can be written with no clearly referring to the System relieve.
Assemblies are as well known as managed DLLs. They are the primary unit of consumption for the .NET platform. The .NET framework itself is made number of assemblies. An assembly contains the midway language generated by the language compiler, an assembly obvious, type metadata and possessions they can be confidential or public. They are character relating and hence unlike versions of the similar assembly can be run concurrently.
Intermediate language (IL)
This is a processor self-regulating image of executable code. It is comparable to assembly code and exact to the CLR. It is generated in the language compilers to aim the CLR. At runtime, the CLR just in time compiles the IL to occupant code for execution. The tool ngen.exe which is element of the .NET framework precompiled assembly to native code at set up time and caches the precompiled code to the disk.
This refers towards code whose implementation is managed by the CLR. It includes memory administration, right of entry security, cross language addition for debugging and exemption management etc. These assemblies are necessary for the creation of metadata on the code as well as the assemblies so that the CLR can direct the execution of the code.
Manifests, Metadata and Attributes
Metadata and manifests are input aspects of managed code execution. The portion of an assembly that contains expressive information regarding the types enclosed in the assembly, the members uncovered the assembly as well as the resources necessary for the assembly are called manifests. Metadata is restricted within the manifest. This metadata describes the assembly and several of it is generated by the language compiler next to compile time. Extra metadata may be added in the developer at propose time. Declaration added to the code to explain or adjust some feature of the code's performance at runtime is identified as attribute. These are stored by an assembly as metadata. They serve a lot of useful purposes in the .NET Framework