What is IL?
(IL)Intermediate Language is also known as MSIL (Microsoft Intermediate Language) or CIL (Common Intermediate Language). All .NET source code is compiled to IL. This IL is then converted to machine code at the point where the software is installed, or at run-time by a Just-In-Time (JIT) compiler.
What is a CLR?
CLR (Common Language Runtime) is the heart of the .NET framework. All Languages have runtime and its the responsibility of the runtime to take care of the code execution of the program. For example Java has JVM(Java Virual Machine) Similarly .NET has CLR.
Following are the responsibilities of CLR
Garbage Collection : CLR automatically manages memory thus eliminating memory leaks. When objects are not referred GC automatically releases those memories thus providing efficient memory management.
Code Access Security : CAS grants rights to program depending on the security configuration of the machine. Example the program has rights to edit or create a new file but the security configuration of machine does not allow the program to delete a file. CAS will take care that the code runs under the environment of machines security configuration.
Code Verification : This ensures proper code execution and type safety while the code runs. It prevents the source code to perform illegal operation such as accessing invalid memory locations etc.
IL(Intermediate language)-to-native translators and optimizer's : CLR uses JIT and compiles the IL code to machine code and then executes. CLR also determines depending on platform what is optimized way of running the IL code.
What is a CTS?
In order that two language communicate smoothly CLR has CTS (Common Type System). Example in VB you have "Integer" and in C++ you have "long" these data types are not compatible so the interfacing between them is very complicated. In order to able that two different languages can communicate Microsoft introduced Common Type System. So "Integer" datatype in VB6 and "int" datatype in C++ will convert it to System.int32 which is datatype of CTS.
What is a CLS?
Common Language Specification is a subset of the CTS which all .NET languages are expected to support. It was always a dream of Microsoft to unite all different languages into one umberlla and CLS is one step towards that. Microsoft has defined CLS which are nothing but guidelines that language to follow so that it can communicate with other .NET languages in a seamless manner.
What is Managed Code?
Managed Code runs inside the environment of CLR i.e .NET runtime. In short all IL are managed code. But if you are using some third party software example VB6 or VC++ component they are unmanaged code as .NET runtime (CLR) does not have control over the source code execution of the language.
What is a Assembly?
Assembly is unit of deployment like EXE or a DLL.
An Assembly consists of one or more files (dlls,exe's,html files etc.) and represents a group of resources, type definitions, and implementations of those types. An assembly may also contain references to other assemblies. These resources, types and references are described in a block of data called a manifest. The manifest is part of the assembly, thus making the assembly self-describing.
An assembly is completely self-describing.
An assembly contains metadata information, which is used by the CLR for everything from type checking and security to actually invoking the components methods. As all information is in the assembly itself, it is independent of registry. This is the basic advantage as compared to COM where the version was stored in registry.
Multiple versions can be deployed side by side in different folders. These different versions can execute at the same time without interfering with each other.
Assemblies can be private or shared. For private assembly deployment, the assembly is copied to the same directory as the client program that references it. No registration is needed, and no fancy installation program is required. When the component is removed, no registry cleanup is needed, and no unistall program is required. Just delete it from the hard drive.
In shared assembly deployment, an assembly is installed in the Global Assembly \ Cache (or GAC). The GAC contains shared assemblies that are globally accessible to all .NET applications on the machine.
What are the different types of Assmbly?
There are two types of assembly Private and Public assembly. A private assembly is normally used by a single application, and is stored in the application's directory, or a sub-directory beneath. A shared assembly is normally stored in the global assembly cache, which is a repository of assemblies maintained by the .NET runtime. Shared assemblies are usually libraries of code which many applications will find useful, e.g. Crystal report classes which will be used by all application for Reports.
What is Namespace?
Namespace has two basic functionality :
Namespace Logically group types, example System.Web.UI logically groups our UI related features.
In Object Oriented world many times its possible that programmers will use the same class name. By qualifying Namespace with clasname this collision can be avoided.
What is the Difference between NameSpace and Assembly?
Assembly is physical grouping of logical units. Namspace logically groups classes.
Namespace can span multiple assembly.
What is Manifest?
Assembly metadata is stored in Manifest. Manifest contains all the metadata needed to do the following
Version of Assembly
Security identity
Scope of the assembly
Resolve references to resources and classes
The assembly manifest can be stored in either a PE file(an .exe or .dll) with Microsoft intermediate language (MSIL) code or in a stand-alone PE file that contains only assembly manifest information.
What is the namespace in which .NET has the data functionality classes?
Following are the namespaces provided by .NET for data management :
System.data
This contains the basic objects used for accessing and storing relational data, such as DataSet, DataTable, and DataRelation. Each of these is independent of the type of data source and the way we connect to it.
System.Data.Oledb
It contains the objects that we use to connect to a data source via an OLE-DB provider, such as OledbConnection, OledbCommand, etc. These objects inherit from the common base classes, and so have the same properties, methods, and events as the SqlClient equivalents.
System.Data.SqlClient
This contains the objects that we use to connect to a data source via the Tabular Data Stream (TDS) interface of Microsoft SQL Server (only). This can generally provide better performance as it removes some of the intermediate layers required by an OLE-DB connection.
System.XML
This contains the basic objects required to create, read, store, write, and manipulate XML documents according to W3C recommendations.
Can you give a overview of ADO.NET architecture?
The most important section in ADO.NET architecture is "Data Provider". Data Provider provides access to datasource (SQL SERVER, ACCESS, ORACLE). In short it provides object to achieve functionalities like opening and closing connection, retrieve data and update data. The four main sections of a data provider :
Connection They are used to connect a data to a Command object.
Command object (This is the responsible object to use stored procedures)
Data Adapter (This object acts as a bridge between datastore and dataset)
Datareader (This object reads data from data store in forward only mode)
Dataset object represents disconnected and cached data. Dataset can have one or more Datatable and relations.
DataView object is used to sort and filter data in DataTable.
What are the two fundamental objects in ADO.NET?
Datareader and Dataset are the two fundamental objects in ADO.NET.
What is difference between dataset and datareader?
Following are some major differences between dataset and datareader :
Datareader provides forward-only and read-only access to data, while the Dataset object can hold more than one table from the same data source as well as the relationships between them.
Dataset is a disconnected architecture while datareader is connected architecture.
Dataset can persist contents while datareader can not persist contents, they are forward only.
What are major difference between classic ADO and ADO.NET?
Following are some major differences between both
As in classic ADO we had client and server side cursors they are no more present in ADO.NET. Note it is a disconnected model so they are no more applicable.
Locking is not supported dur to disconnected model
All data persist in XML as compared to classic ADO where data persisted in Binary format also.
An OledbConnection object is used with an OLE-DB provider
A SqlConnection object uses Tabular Data Services (TDS) with MS SQL Server
What is the use of command objects?
They are used to connect connection object to Datareader or dataset. Following are the methods provided by command object :
ExecuteNonQuery : Executes the command defined in the CommandText property against the connection defined in the Connection property for a query that does not return any row. Returns an Integer indicating the number of rows affected by the query.
ExecuteReader : Executes the command defined in the CommandText property against the connection defined in the Connection property. Returns a "reader" object that is connected to the resulting rowset within the database,allowing the rows to be retrieved.
ExecuteScalar : Executes the command defined in the CommandText property against the connection defined in the Connection property. Returns only single value any other returned columns and rows are discarded. It is fast and efficient when only a "singleton" value is required.
What is the use of dataadapter?
These are objects that connect one or more Command objects to a Dataset object. They provide logic that would get data from the data store and populates the tables in the Dataset, or pushes the changes in the Dataset back into the data store.
An OleDbDataAdapter object is used with an OLE-DB provider.
A SqlDataAdapter object uses Tabular Data Services with MS SQL Server.
What are basic methods of Dataadapter?
There are three most commonly used methods of Dataadapter :
Fill : Executes the SelectCommand to fill the DataSet object with data from the data source. It is also be used to update an existing table in a DataSet with changes made to the data in the original datasource if there is a primary key in the table in the DataSet.
FillSchema : Uses the SelectCommand to extract just the schema for a table from the data source, and creates an empty table in the DataSet object with all the corresponding constraints.
Update : Calls the respective InsertCommand, UpdateCommand or DeleteCommand for each inserted, updated, or deleted row in the DataSet so as to update the original data source with the changes made to the content of the DataSet. This is a little like the UpdateBatch method provided by the ADO Recordset object, but in the DataSet it can be used to update more than one table.
What is Dataset object?
The DataSet provides the basis for disconnected storage and manipulation of relational data. We fill it from a data store, work with it while disconnected from the data store, then reconnect and flush changes back to the data store if required.
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment