You are on page 1of 11

.

NET Terminology

The Common Language Specification

This is a subset of the Common Type System (CTS) and defines a set of conventions that
are targeted at language interoperability of all the languages that run within the .NET
environment.

The Common Type System

The Common Type System (CTS) is a standard that defines the necessary rules for type
interoperability for the languages targeting the .NET environment. The common type
system supports the following types.

• Value Types

• Reference Types

.NET Framework Class Library

The .NET Framework Class Library (FCL) is a set of managed classes that are
responsible for providing access to the system services in the managed environment of
Microsoft.NET.

The Common Language Runtime

The CLR is a runtime execution engine of .NET that provides an environment to execute
programs that are targeted at the .NET platform. It provides memory allocation, security,
code verification, type verification, exception handling and garbage collection in the
managed environment.

Common Language Infrastructure

The Common Language Infrastructure or the CLI provides support for language
interoperability in the .NET managed environment. It is comprised of the following
features.

• A File Format (PE)

• Metadata

• MSIL

• Base Class Library


Assembly

An assembly is a group of resources and types, along with the metadata about those
resources and types, deployed as a single unit.

Just In Time Compiler

The Just In Time Compiler or the JIT is responsible for compiling units of code and
caching them at runtime as and when they are needed. Since the compilation occurs at
runtime, it is known as a Just In Time Compilation.

MSIL

A program compiled in the .NET managed environment generates an intermediate code


to support platform independence. This is called the MSIL or Microsoft Intermediate
Language.

Strong Name

A Strong Name is a unique identifier given to an assembly using cryptography and a


digital signature that is used to identify a particular assembly. An assembly is provided a
strong name using the utility called sn.exe.

A strong name consists of the following.

• Name of the Assembly

• Digital Signature

• Version Number

• Culture Information

Global Assembly Cache

The Global Assembly Cache is a system wide storage of shared assemblies. Assemblies
can be stored or moved to and from the Global Assembly Cache using a tool called
GacUtil.

Managed Code

A managed code is one that provides restricted access to the system’s resources and can
be executed only in a managed environment that is provided in Microsoft .NET by the
Common Language Runtime.
Un-Managed Code

An Un-Managed code is one that executes outside of the Common Language Runtime
environment and can perform unsafe operations.

Managed Data

Managed Data refers to the objects that are created by the Common Language Runtime
environment and can be garbage collected implicitly by the Garbage Collector.

Shared Assembly

A Shared Assembly is one that can be referred by more that one application. All shared
assemblies should contain a strong name and should be located in the Global Assembly
Cache (GAC).

Private Assembly

A Private Assembly is one that is private to one application. In other words, it can be
accessed by the containing application only.

Satellite Assembly

When you wish to localize the application, it can be written in culture-neutral code and
can distribute the localized modules in separate assemblies called satellite assemblies.

Assembly Manifest

The Assembly Manifest contains the information about an assembly. This includes the
version number of the assembly, the list of the files that comprise the assembly, etc. An
assembly manifest is contained in the dll file or the exe file itself.

Resource

A resource refers to an addressable unit of data that is available for use by an application.
It consists of one or more of the following.

• Texts

• Files

• Documents

• Images
• The .NET tool called resgen.exe is used to create resource files from the resource
information that is stored in text or XML files.

Localization

Localization is the practice of designing and developing software that will properly use
all of the conventions defined for a specific locale. An assembly that is used to provide
localization feature in ASP.NET applications is referred to as a Satellite Assembly.

Native Image Generator

This is a .NET tool that is used to compile a managed assembly to the native code and
then store that in the local assembly cache. The name of this tool is Ngen.exe.

Value Type

A value type is one that contains the value rather than the reference and is stored in the
stack memory. Examples of value types are integers, floats, doubles, structures, etc.

Reference Type

A reference type contains a reference to the actual object in memory and is stored in the
managed heap. Objects of classes are good examples of reference types.

Boxing

Boxing refers to the conversion of a value type to a reference type. Value types are
stored in the stack and reference types are stored in the managed heap.

Un-Boxing

This refers to the conversion of a reference type to a value type.

Garbage Collection

Garbage Collection is a technique introduced in Microsoft .NET that manages memory


cleanup implicitly. This implicit reclaiming of memory in the .NET managed
environment is handled by the Common Language Runtime.

Dispose Method

The Dispose method can be used in an unsealed class to cleanup resources explicitly. It
should be noted that both the Dispose and the Finalize methods should make a call to
their parents' respective methods after they have disposed or finalized their own
members. A class that needs to have this method implemented should implement the
IDisposable interface.
Finalize Method

The finalize method is a protected member of the Object class and is implicitly called at
the runtime to cleanup unmanaged resources before the object is destroyed.

Code Verification

This is a feature that enforces type safety or type security by checking the code prior to
its execution in the run time environment. Therefore, it does not allow malicious code to
get executed in the managed environment.

Authentication and Authorization

This is a security measure that is used to specify the user’s identity and authorization in
ASP.NET. The process of authorization determines whether an authenticated user has
access to a specific resource. Authentication and Authorization details of an ASP.NET
application are specified in the web.config file. There can be three types of
authentication in ASP.NET.

• Forms Authentication

• Windows Authentication

• Passport Authentication

Web.Config File

The web.config file is the configuration file for an ASP.NET web application. Typically,
the following information is stored in a web.config file.

• Database Connection Strings

• Security

• Session States

• Impersonation

• Error handling

Machine.Config File

The machine.config file contains the configuration settings for the entire application and
is located in the Config sub-folder of the Microsoft .NET installation directory.

ASP.NET
ASP.NET is a language neutral, interoperable, server-side technology that allows
creation, execution and deployment of scalable Web Applications and Services.

Caching

Caching is a feature that stores the data in the memory for serving the incoming requests
from the memory itself. Caching in ASP.NET can be of three types.

• Page Output Caching

• Page Fragment Caching

• Data Caching

Singleton Pattern

A singleton pattern states that we can have a singleton class that can be instantiated only
once in the application domain and provides a global point of access to it.

Application Domain

An application domain refers to the logical and physical boundary created around
every .NET application. An application domain is created by the Common Language
Runtime and supports execution of multiple .NET applications in the same process by
isolating them in different application domains.

View State

This is a client-side state management technique that continues the state of server
controls by maintaining the state of pages across postbacks. The view state is an encoded
hashed string and is stored in a hidden field called __VIEWSTATE.

Session State

A session is the period of a connection between a server and a client. The Session State
allows storage of objects in a user’s session. A session can be stored in one of the
following ways.

• InProc

• State Server

• SQL Server

Application State
This is a state management technique that allows objects to be stored and then globally
accessed or shared by multiple modules of the application. In ASP.NET, application
state is maintained by the class HttpApplicationState.

Interface Definition Language (IDL)

The Interface definition Language (IDL) defines a protocol between the server and the
client so that they can communicate in heterogeneous environments.

Universal Description, Discovery and Integration (UDDI)

Universal Description, Discovery and Integration is a platform independent, XML based,


distributed directory that allows the enterprises to list themselves over the internet. The
UDDI business registration contains the following features.

• Green Pages

• White Pages

• Yellow Pages

Web Service Description Language (WSDL)

The Web Service Description Language (WSDL) defines XML based contract services
for describing the network services as a collection of communication end points. A
WSDL document contains the following.

• Messages

• Operation

• Types

• Service

• Port and its type

Simple Object Oriented Protocol (SOAP)

This is an XML-based protocol that is used to exchange structured data and type
information in a distributed environment.

Web Services
A web service is SOAP based, platform–independent software component that exposes
itself through open communication channels of the web applications running on
potentially different platforms.

Remoting

Remoting allows two processes, a Server and a Client, to inter-communicate in the same
system, the same network or across networks. In Remoting, a server and client
communicate using a Channel.

Service Oriented Architecture

Service Oriented Architecture

is an architecture that provides a seamless Enterprise Information Integration between


loosely coupled distributed applications or services over the network.

Service

A service is an implementation of a well-defined, self-contained, independent business


functionality that accepts one or more requests and returns one or more responses through
a well-defined, standard interface.

Smart Client Architecture

The Smart Client Architecture is a deployable, multi-platform architecture that allows


local application to connect to a server based application using web services. It provides
an adaptive and rich user interactive experience by using local resources. A Smart Client
application can work in both connected and disconnected modes.

ADO.NET

ADO.NET is an object oriented data access technology that enables you to access data
from a managed environment. It is essentially a collection of some classes used to
communicate between an application and a database.

Connection Pool

A Connection Pool is a pool of available or ready-to-use connections. When a new


connection is requested it is served from the connection pool if one exists. If not, a new
connection is created. Connection Pooling improves the performance of applications to a
large extent.

DataProvider
A DataProvider encapsulates the protocols that ADO.NET uses to interact with different
types of databases.

DataSet

The DataSet is an in–memory, disconnected, XML compliant representation of the data.


Data in a DataSet can be changed, unlike a DataReader which is read only.

DataReader

A DataReader is a connected, forward only, read only stream of data that is retrieved
from the database.

DataAdapter

The DataAdapter is a bridge between the DataSet and the underlying database. It
provides a set of methods and properties to move data between a database and its in-
memory representation, the DataSet.

DataView

A DataView

is a class that provides a customized view of the DataSet. It is typically used to sort or
filter the rows.

Command

The Command object is used to send the SQL Statements to the database. Commands are
used to insert data, retrieve data and execute stored procedures in the database.

Connection

The Connection object establishes a connection to the database using the user name,
password and the database name as parameters.

Transactions

A transaction is a block of statements that guarantees that all or none of the statements in
the block are executed. In ADO.NET, a transaction can be started by using the
BeginTransaction() method on the currently active Connection. To commit the
transaction, the method CommitTransaction() is used. In order to abandon the
transaction, the method Rollback() is executed.

Serialization
This refers to the storage of an object into a persistent storage medium in a stream of
bytes. The opposite is de-serialization and is used to retrieve a serialized object from a
storage medium.

Reflection

This is a feature that allows us to inspect the metadata of an assembly at runtime.


Reflection can be used to retrieve metadata information, such as the following.

• Classes

• Methods

• Properties

• Events

Biztalk Server

This is a set of Microsoft Server Applications that allow integration, automation and
management of different server applications.

Exchange Server

This is a set of Microsoft Server Applications that are responsible for integrating
messaging and data storage technologies.

Commerce Server

This is Microsoft’s Business Server that is used for managing and developing business
web sites.

Array

An array is a collection of homogenous objects. It is a group of elements of the same


type that share a common name. The size of an array is fixed and cannot be changed at
runtime.

ArrayList

An ArrayList is a collection of heterogeneous elements- elements of different types.


Unlike an array, its size can be changed dynamically.

HashTable
A HashTable is a collection of heterogeneous objects that can be referred using either an
index or a key. Elements of an ArrayList can be referred to using an index only.

COM+

COM+ or COM Plus is a distributed, transactional, component-based technology that can


be used in a multi-tiered architecture and provides support for Object Pooling.

Delegate

A delegate is a managed function pointer that refers to a method. A multi-cast delegate is


one that points to and can eventually fire off different methods. A delegate is used to
implement event handling in Microsoft .NET.

Event Handler

An event handler is a method that is executed in response to an event.

Exception

An exception is an event that is generated as a result of a runtime error. An exception is


handled using the exception blocks. An exception that cannot be handled is referred to as
a fatal exception and causes the flow of execution of the current program to terminate
unexpectedly.

Try/Catch Block

A try/catch block is used in exception handling and provides a mechanism to trap runtime
errors that can occur on execution of the application. A try block contains the code that
can generate a runtime error. The catch block contains statements that are executed once
the appropriate exception has occurred. A try block can contain one or more catch blocks
or a finally block.

Finally Block

A finally block is one that is executed irrespective of whether an exception occurs or not.
Typically, it is used in Exception Handling mechanism to release resources.

Namespace

A namespace refers to a logical grouping of types or identifiers used in a program.

You might also like