The .NET Framework Class library consists of a combination of instructional classes, interfaces, and also value types in which facilitate and boost the actual development practice and supply use of system functionality and they can use to be able to program with. The .Net framework class library (FCL) affords the core features connected with .Net framework architecture. In .Net Framework class library (FCL) structured in a very hierarchical tree design in fact it is broken down in to Namespaces. Namespaces is a logical grouping regarding forms when it comes to identification. The .Net Framework class library (FCL) provides the steady foundation forms which are utilized all over almost all .Net enable languages. Classes are usually accessed by simply namespaces, which usually reside inside Assemblies. The system Namespace may be the main regarding forms in the .Net framework. The course collection (FCL) lessons are usually managed lessons offering having access to Program Solutions. This .Net Framework class library (FCL) classes are usually object oriented and also simple to operate with program developments. Additionally, third-party components may include using the classes in the .NET Framework. The particular .Net class library type collection comes with a frequent interface involving each of the various .Net programming languages such as shown in fig 1.1.
Following are some important namespaces that are defined in the .NET Framework class library:
This namespace includes all common data types, string values, arrays, methods for data conversion, and methods related to mathematical operations.
System.Data, System.Data.Common, System.Data.OleDb, System.Data.SqlClient, System.Data.SqlTypes
These namespaces are used to access a database, perform commands on a database, and retrieve and manipulate a database.
System.IO, System.DirectoryServices, System.IO.IsolatedStorage
These namespaces are used to access, read, and write files, and retrieve file paths.
This namespace is used to debug and trace the execution of an application.
These namespaces are used to communicate over the Internet when creating peer-to-peer applications.
These namespaces are used to create Windows-based applications using Windows user interface components.
System.Web, System.WebCaching, System.Web.UI, System.Web.UI.Design, System.Web.UI.WebControls, System.Web.UI.HtmlControls, System.Web.Configuration, System.Web.Hosting, System.Web.Mail, System.Web.SessionState
These namespaces are used to create ASP.NET Web applications that execute over the Internet.
System.Web.Services, System.Web.Services.Description, System.Web.Services.Configuration, System.Web.Services.Discovery, System.Web.Services.Protocols
These namespaces are used to create XML Web services and components that can be published over the Internet.
System.Security, System.Security.Permissions, System.Security.Policy, System.WebSecurity, System.Security.Cryptography
These namespaces are used for authentication, authorization, and encryption.
System.Xml, System.Xml.Schema, System.Xml.Serialization, System.Xml.XPath,
These namespaces are used to create and access XML files.
Several benefits of .NET framework class library:
Consistent programming model: Using .Net being able to access data that has a VB. WEB and a C# .Net looks the same as well as slight syntactical variations. Both programs have to import the system. Data namespace, both the programs generate a connection with the particular database and both the programs work some sort of query and display the data on the data grid.
This .Net illustration clarifies that there are some sort of single methods of accomplishing a similar job using the .NET Class Library, an essential element with the .Net framework. This features that the .Net class library gives can be found to every . .Net languages resulting in a consistent object style regardless of the programming language the developer uses.
When an application accesses data on a remote machine or even has to execute a privileged task with respect to some sort of non-privileged user, security issue difficulty turns into critical since the application will be able to view data from a remote machine. Having .Net, the particular Framework makes it possible for the particular developer and the system supervisor to be able to specify process levels safety measures.
Within web purposes, the developer together with traditional ASP would need to present data from a database in a Webpage. He has to write down the application logic (code) in addition to presentation logic (design) inside same file. ASP .NET and also the. NET framework makes simpler development by making distance between the application logic in addition to presentation logic to make it easy to maintain the code.
The design code (presentation logic) and also the actual code (application logic) can be created as a standalone eliminating the requirement to combine Html code together with ASP code. ASP .Net may also deal with the facts regarding sustaining the state of the controls, like contents in a text box, among telephone calls to the same ASP .Net page.
In .Net Framework it allows you to be able to easily deploy applications. Throughout the commonest type, to setup an application, almost all you should do is to duplicate the appliance combined with the factors it takes in a directory for the targeted computer. The .Net Framework addresses information involving handling along with filling these factors an application wants, whether or not many designs in the very same software are present for the targeted computer.
CLS defines standard rules for defining .Net compliant languages. By naming .NET complaint languages, demonstrate your understanding of this concept.
CLS becomes a subset associated with CTS. CTS explains a couple of types that may work with different .Net languages have in accordance, which often make sure that items written in various languages those may socialize with one another. The majority of the members outlined by forms in the .Net framework class library (FCL) are common language specification compliant types. CLS is usually a collection of standard language attributes which .Net languages required to develop application as well as Services, which might be works with the particular .Net platform. When there is a situation to write for communicating objects in different .Net Complaint languages, those objects need to promote the particular attributes that are common to all the languages.
CLS ensures total interoperability involving applications, no matter of the language used to develop the application. CLS was designed to assistance language constructs widely used by developers and also to make verifiable code, which enables most CLS-compliant languages to guarantee the safety associated with code. CLS involves features typical to a lot of object-oriented programming languages.
CLS identifies the basic necessary regulations for any language targeting common language infrastructure to inter-operate together with some other CLS-compliant languages. For instance, a method together with parameter regarding “unsigned int” type in an object written throughout C# is not CLS-compliant, just like a number of different languages, including VB.NET, which does not support that type. CLS presents the rules on the compiler of a language, which usually targets the .NET framework. CLS-compliant code would be the program code open along and expressed throughout CLS form.
Although various .NET languages are different in their syntactic policies, their compilers make more common intermediate language instructions, which are implemented by CLR. That’s why, CLS allows flexibility throughout making use of non-compliant types in the central implementation involving factors using CLS-compliant requirement. Therefore, CLS functions as a tool intended for integrating unique languages into one particular umbrella within a seamless method. Components which stick to the particular CLS rules and also only use the particular features in the CLS are generally called CLS-compliant parts. A lot of the members defined by types in the. NET Framework class library are generally CLS-compliant. Several types in the class library have got more than one members which might be definitely not CLS-compliant. Most of these members allow support for language features which might be definitely not in the CLS. The types and also members which might be definitely not CLS-compliant are generally recognized as such in the reference documentation, and also in all of the circumstances some sort of CLS-compliant alternative is available.
CLS provides several services such as:
Application memory isolation
Proof of type security
Access to metadata
Managing memory for managed objects
Enforcement of code access security
Automation of object layout
Helpful for developer services like debugging, profiling etc
CTS Defines rules concerning data types .Net, by giving examples of supported data types, describe what CLR is and its role in .NET architecture.
CTS are designed as a singly rooted object hierarchy with System. Object as the base type from which all other types are derived. CTS support two different kinds of types:
Value Types: Contain the values that need to be stored directly on the stack or allocated inline in a structure. They can be built-in standard primitive types, user-defined or enumerations like sets of enumerated values that are represented by labels but stored as a numeric type. There are several value types in CTS such as:
Reference Types: Store a reference to the valueA?A?aˆsA¬A‹A“s memory address and are allocated on the heap. Reference types can be any of the pointer types, interface types or self-describing type arrays and class types such as user-defined classes, boxed value types and delegates. There are several Reference types in CTS such as:
Although operations on variables of a value type do not affect any other variable, operations on variables of a reference type can affect the same object referred to by another variable. When references are made within the scope of an assembly, two types with the same name but in different assemblies are defined as two distinct types, whereas when using namespaces, the run time recognizes the full name of each type (such as System. Object,System. String, etc.). The rich set of types in CTS has well-designed semantics such that they can be widely used as a base type in Common Language Runtime (CLR) -based languages. This is why all .NET developers must have a thorough understanding of CTS.
Describe what CLR is and its role in .NET architecture.
Common language Runtime (CLR) is the engine accessible in .Net framework to be able to compile and also run the program. CLR engine will not compile the code into machine code but it will convert the code into a set of instructions. CLR aids developers inside taking care of equally in allocating and also reallocating of memory. This kind of process cleans away a couple of the greatest resources for programmer error like leaks and also memory data corruption. CLR can be great for security functions. CLR produce permissions to some portion dependent on what method it runs in, validates the code based on data like details about code on time load and also the internet site from which portion ended up being received for you to assign permissions using a component-by-component basis. Also, CLR inspections the code to see in the event it is often altered. The particular metadata in a CLR portion can easily contain a digital signature that can be used for you to examine which the portion ended up being written by true particular person which that hasn’t been improved.
Some of the benefits of CLR (common language runtime) are:
The ability to easily use components developed in other languages.
Extensible types provided by a class library.
Language features such as inheritance, interfaces, and overloading for object-oriented programming.
Support for explicit free threading that allows creation of multithreaded, scalable applications.
Support for structured exception handling.
Support for custom attributes.
Use of delegates instead of function pointers for increased type safety and security.
Components of CLR (common language runtime):
MSIL ( Microsoft intermediate language)
Basic class library