Translate

Wednesday, 3 December 2014

.Net Framework


Components of .Net Framework

There are many articles are available in the web on this topic; I just want to add one more article over the web by explaining Components of .Net Framework.
Components of .Net Framework
Net Framework is a platform that provides tools and technologies to develop Windows, Web and Enterprise applications. It mainly contains two components,
1.   Common Language Runtime (CLR)
2.    .Net Framework Class Library. 
1. Common Language Runtime (CLR)

.Net Framework
 provides runtime environment called Common Language Runtime (CLR).It provides an environment to run all the .Net Programs. The code which runs under the CLR is called as Managed Code. Programmers need not to worry on managing the memory if the programs are running under the CLR as it provides memory management and thread management.

Programmatically, when our program needs memory, CLR allocates the memory for scope and de-allocates the memory if the scope is completed.

Language Compilers (e.g. C#, VB.Net, J#) will convert the Code/Program to Microsoft Intermediate Language (MSIL) intern this will be converted toNative Code by CLR. See the below Fig. 
There are currently over 15 language compilers being built by Microsoft and other companies also producing the code that will execute under CLR.

2.    .Net Framework Class Library (FCL)

This is also called as Base Class Library and it is common for all types of applications i.e. the way you access the Library Classes and Methods in VB.NET will be the same in C#, and it is common for all other languages in .NET.

The following are different types of applications that can make use of .net class library. 
1.                   Windows Application.
2.                   Console Application
3.                   Web Application.
4.                   XML Web Services.
5.                   Windows Services.
In short, developers just need to import the BCL in their language code and use its predefined methods and properties to implement common and complex functions like reading and writing to file, graphic rendering, database interaction, and XML document manipulation.

Below are the few more concepts that we need to know and understand as part of this .Net framework. 

3.   Common Type System (CTS)

It describes set of data types that can be used in different .Net languages in common. (i.e), CTS ensures that objects written in different .Net languages can interact with each other.

For Communicating between programs written in any .NET complaint language, the types have to be compatible on the basic level.

The common type system supports two general categories of types:  

Value types:


Value types directly contain their data, and instances of value types are either allocated on the stack or allocated inline in a structure. Value types can be built-in (implemented by the runtime), user-defined, or enumerations.

Reference types:


Reference types store a reference to the value's memory address, and are allocated on the heap. Reference types can be self-describing types, pointer types, or interface types. The type of a reference type can be determined from values of self-describing types. Self-describing types are further split into arrays and class types. The class types are user-defined classes, boxed value types, and delegates. 

4. Common Language Specification (CLS)

It is a sub set of CTS and it specifies a set of rules that needs to be adhered or satisfied by all language compilers targeting CLR. It helps in cross language inheritance and cross language debugging.

Common language specification Rules:


It describes the minimal and complete set of features to produce code that can be hosted by CLR. It ensures that products of compilers will work properly in .NET environment. 
Sample Rules: 
1.       Representation of text strings 
2.       Internal representation of enumerations 
3.       Definition of static members and this is a subset of the CTS which all .NET languages are expected to support.
4.   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.


Difference between Javascript and JQuery

Javascript:

1. javascript is a language
2. you need to write you own scripting which may take time
3. hard to consuming services
4. EX: document.getelementBYid('txtID').value

jQuery:

1. Jquery is a framework (Build in library)
2. you need not to write much scripting which already exists in JQuery (user friendly)
3. Easy to consuming services
4. EX: $("#txtID").val

Difference between HTTP and HTTPS

Hypertext Transfer Protocol (HTTP) is a protocol for transmitting and receiving information across the Internet.

Https=Http + SSL

1. URL begins with “http://" in case of HTTP while the URL begins with “https://” in case of HTTPS.
2. HTTP is unsecured while HTTPS is secured.
3. HTTP uses port 80 for communication while HTTPS uses port 443 for communication.
4. HTTP operates at Application Layer while HTTPS operates at Transport Layer.
5. No encryption is there in HTTP while HTTPS uses encryption.
6. No certificates required in HTTP while certificates required in HTTPS.


SSL:

1. Authenticate the server to the client.
2. Allow the client and server to select the cryptographic algorithms, or ciphers, that they both support.
3. Optionally authenticate the client to the server.
4. Use public-key encryption techniques to generate shared secrets.
5. Establish an encrypted SSL connection.
6. Once the SSL connection is established the usual transfer of HTTP requests will continue.

Where should https be used?

HTTPS should be used in Banking Websites, Payment Gateway, Shopping Websites, Login Pages, Emails (Gmail offers HTTPS by default in Chrome browser) and Corporate Sector Websites.

Tuesday, 2 December 2014

WCF Tutorial and Interview Question & Answers

List all employee's names and their managers by manager name using an inner join

select distinct e.Ename as Employee, m.ManagerID as reports_to, m.Ename as Manager
from EMPLOYEES e
inner join Employees m on e.ManagerID = m.EmpID;

EXCEPT vs NOT IN and INTERSECT vs IN in SQL SERVER:

"EXCEPT" operator was introduced in SQL SERVER 2005. This operator used to achieve Distinct and Not Inqueries. EXCEPT operator returns all distinct rows from left hand side table which does not exist in right hand side table.
On the other hand, "NOT IN" will return all rows from left hand side table which are not present in right hand side table but it will not remove duplicate rows from the result.

create table #tblsample (ProductId tinyint)
create table #tblsample2 (ProductId tinyint)

--insert values to tbl 1
insert into #tblsample values (1)
insert into #tblsample values (2)
insert into #tblsample values (3)
insert into #tblsample values (4)

--insert values to tbl 2
insert into #tblsample2 values (1)

--SELECT
select * from #tblsample
select * from #tblsample2

--USE EXCEPT
select * from #tblsample
except
--intersect
select * from #tblsample2

--USE NOT IN
select * from #tblsample
where productid NOT IN(
select * from #tblsample2)
-------------------------------------------
-- INSERT DUBLICATE VALUE
insert into #tblsample values (1)
insert into #tblsample values (2)

--SELECT
select * from #tblsample
--USE EXCEPT
PRINT 'EXCEPT RETURNS DISTINCT VALUES'
select * from #tblsample 
except
--intersect
 select * from #tblsample2
--USE NOT IN
PRINT 'NOT IN RETURNS DUPLICATE VALUES IF ANY'
select * from #tblsample where productid NOT IN(select * from #tblsample2)

--USE DISTINCT + NOT IN = EXCEPT

select * from #tblsample
except
select productid from #tblsample2