Tuesday, October 29, 2013

ASP.net

                                                                                ASP.net   
As.net is a technology providing set of specifications to words web based application development, this technology come with .net
Asp.net supports different types of applications
·        Normal web application webpage towards pc based brewers
·        Mobile web application webpage towards mobile device micro browsers
·        Web Services developing business logic towards b 2 b implementation
·        AJAX web application developing web page with AJAX specifications this will avoid complete page submission and reloading webpage.
Page directive:-
Directive is an instruction to server it should be first statement with in webpage. Based on instruction server will do required processing
<%@ page language=”…” enable viewstate=”….” Theme=”….” %>
Creating asp.net page using c#...
Page.aspx
<%@page language=”cs” %>
<%
Response.write(“<h1> asp.net page using c#</h1>”);
%>
Browse---------à page.aspx

Asp.net page execution [asp.net architecture]
Server system required 2 things for asp.net
1. IIS installation
2. net installation
.net installation will configure IIS with a library called aspnet_isapi.dll (internet server application programming interface)
Whenever the first request comes to the webserver. Server will forward asp.net page request to asp.net worker process using aspnet_isapi.dll
Ø  Asp.net worker process can be called as asp.net run time it will make use .net services to process asp.net page
Ø  Asp.net worker process will compile asp.net page into complied code in the form of DLL file, this complied will be serving the different client request, this makes execution faster & provides better performance.
Location of webpage dll with in server system->
C:\windows\microsoft.net \framework\version\temporaryasp.net files\

Webpage creation technique supported by asp.net
1. Design part
2. Logic part
In classic asp design part code and logic code will be placed into single file asp. This file will be shared by web designer and web developer this will create problems.
1.      Application development will become slow
2.      No security for logic part
The solution in asp.net is code behind technique
Asp.net supports 2 techniques
1.      Inpage technique
2.      Code behind technique









Asp[Active Server Pages]

ASP [Active Server Pages]
Asp is a technology comes with IIS in the form of asp.dll for server side code execution.
Asp comes with 2 things
1. Scripting languages towards server side
2. Collection of objects called “Asp objects” example:-response, request, session, application and server.
Asp page extension is .asp contains
1. Html tags
2. Client side code
3. Server side code.
Server side code requires unique identification
<%= statement %> it will be executed and result will be given to client.
Creating Asp page to display server system time:
Open a notepad
<Html>
<Body>
<h1>
Server time: <% =time %> // time is the function of VB Script to get server time
</h1>
</Body>
</Html>
Request object is used to read information which comes with client request
Response object is used to send information to client the information can be normal text, url, cookies …..
Page Submission:-
Client submitting data to the webserver is called page submission example registering user account, login entry etc.
Html Page----------------------------------------à asp page
Asp page-----------------------------------------à asp page
Page submission can be classified into 2 types
·         Cross page submission :- one webpage submitting to another page
·         Post Back submission:- webpage submitting to it self
HTML Page
<form method=”post/get” action=”asp page”>
-----------Controls-------------------------
</form>
Method attribute of form tag it will specify arrangement of data for sending to web server
Browser-------- Http request-------------------à Webserver
Difference between GET and POST
·         Get will arrange data with in http header by appending to the url
·         Post will arrange data with in http message body it will not visible
·         Get will support maximum of 2 kb data
·         Post will support large amount of data no limit
·         Get will not provide security for sensitive data like password
·         Post will provide security
·         Get provides faster transmission of data in 1 packet
·         Post provides slow transmission
Creating html page to submit data
<html>
<body>
<form method=”get” action=”validate.asp”>
username :< input type=”text” name=”t1”>
<br>
Password :< input type=”password” name=”t2” ><br>
</form>
</body>
</html>
Save as login.html
Created asp page to read data :-
<%
Uname=request.querystring(“t1”)
Pwd=request.querystring(“t2”)
Response.write(“welcome to “&uname)
%>
Save as validate.asp








C#.net Interview Questions

1. What is a Framework?
A framework is software which masks the functionality of the operating system and makes the code to execute under its control. Which provides basic features like?
·       Platform Independency
·       Security
·       Memory Management.
2. What are the features of C#2.0?
·       Partial classes which allows class implementation a cross more than one source file. This permits splitting up very large classes.
·       Generics or Parameterized types.
·       Static classes that can’t be instantiated
·       Null able value types which provides improved interaction with SQL Databases.
3. Features of C# 3.0
·       LINQ(Language Integrated Query)
·       Object initializes and Collection Initializes
·       Anonymous Types
·       Implicitly typed variables(Using Var Keyword)
·       Lambda expressions
·       Automatic Properties
·       Extension Methods
·       Partial Methods
4. Implicitly Typed Variables
This is a new feature which allows declaring a variable using the keyword “VAR” .The data type of variable is decided according to the value assigned to the variable.
Example:
Var x=100 integer
Var s=”hello” String
5. Boxing and UN Boxing
When a value type is stored as reference type in the heap memory we called it as a boxing
E.g. Object OBJ=100;
If the value type in the heap is converted and send back to stack we called as UN boxing
E.g. int x=convert.toInt32 (OBJ);
6. Object Oriented Programming
A language to be called as object oriented needs to satisfy a set of basic principles like
·       Encapsulation
·       Abstraction
·       Inheritance
·       Polymorphism
Encapsulation:
According to this the code in an object oriented language as to be warped in a container called as class which provides security to the class.
Abstraction:
It is an approach which talks about hiding the complexity by providing a set of interfaces to consume the functionality.
Inheritance:
According to this member of the class can be accessed by another class if they have parent child relationship.
Polymorphism:
Entities behaving in different ways depending upon the input they received are known as polymorphism
7. What is a constructor?
·       A constructor is a special method available under every class responsible for initializing the variables of a class
·       The name of the constructor is same as class name
·       A constructor method never returns a value
·       Without a constructor a class never executes.
8. Class Members
Whatever we define under a class were known as class members like variables, methods, constructors
9. Instance variables vs. static variables
A variable declared using static modifier or declared under static block were known as static variable rest of all “Instance variable”
Instance variable initialized whenever the object of the class get created. So the minimum or the maximum no of times it gets initialized will be Zero or N.
Where as a static variable gets initialized once the execution of the class starts. So the minimum and maximum no of times it gets initialized is only one.
10. Instance constructor and static constructor
·       A constructor declared using static modifier is a static constructor, rest all instance constructors.
·       Static constructor responsible for initialize the static variable and instance constructor is initializing instance variable.
·       A static constructor gets called one and only once in the execution of a class i.e. when the class execution starts.
·       Whereas instance constructor gets called zero (or) ‘N’ times i.e. each time the object of the class gets created.
·       As we can pass parameters to an instance constructor it cannot be done in the case of static constructor because a static constructor never takes parameters or cannot be parameterized.
11. Extension Methods
It was a new concept added in c#3.0 specification that allows you to extends the functionalities of class i.e. adding methods under the class even if you don’t have source code or you don’t have the permission to edit a class
The advantage of this approach is that after adding the method to a class you can call the methods using object of the class.
·       Extension methods can be define only under static class
·       Because they were defined under the static classes they will be defined as static methods but while consuming should be access as instance methods only
·       The first parameter of an extension method is the linker parameters which specifies to which class the method belongs prefixed with ‘this’ keyword. While calling the parameter will not be consider.
·       If you want any parameters to extension method while defining they should start from 2nd parameter.
Syntax:
Public static void test (this original obj, int x){}
12. Overloading
This allows defining of multiple methods or constructors with the same name by changing their parameters’ or signatures.
Overloading is an approach which allows providing multiple behaviors to a method
Example: Write and write line methods of the console class which were provided with different overloads to print different type of values.
Change in signature can be any of the following
·       Change the number of parameters being passed to a method
·       Type of parameters being passed to a method
·       Change the order of the parameter passed to a method
Example:
Class loadDemo
{
          Public void show ()
            {
                   Console.writeline(1);
            }
       Public void show (int a,int b)
          {
                   Console.writeline(a+b);
          }
}
13. Method Overriding
If a method of parent class is redefined in the child class with the same signature, we called it as “Method Overriding”.
Example:
Class parent
{
                Public void test()
                {
                                Console.writeline(1);
                }
                Public virtual void test(int x,int y)
                {
                                Console.writeline(x+y);
                }
}
Class child:parent
{
                Public void method1()
                {//some method
         }
                Public override void test(int x,int y)
{
                 //do something
}
}

14. Difference between Overloading and Overriding.
Overloading                                                  Overriding
1. This allows defining multiple    1. This allows defining multiple
Methods with the same name     methods with the same name
by changing their signature.          And same signature
2. This can be performed with   2. This can be performed with in
In the class or child class                 the child class only.
3. When performed under the   3.To perform this you require
Child class doesn’t require any     on explicit permission from
permission from the parent.          the parent.
15. How does the parent class give the permission to the child class to override or re-define in the method?
The parent class gives the permission to the child class to re-define the method by declaring the method as “virtual” now the child class can override the method, on optional basis using the override modifier.
Example:
Public virtual void test (int x) {}//parent class method
Public override void test (int x) {}//child class override method
16. After overriding a method under a child class can we invoke the virtual method of parent from the child class.
Yes. This can be done in two ways
1.   Create the object of the parent class under the child class to invoke the virtual method.
2.   Using the base keyword also you can invoke the virtual method of parent from child after overloading.
17. Can we rewrite a method under child class without permission from parent?
Yes, we can re-write a method under child without the permission from parent also (i.e. not declared as virtual) but we called this a “Method –Hiding”.
In case of overriding we use the override modifier to re-write the method
Where as in case of method-hiding we use New modifier for rewriting the method.
18. How to restrict a class not to be inherited by any other class.
If we want to restrict a class not to be inherited by any other class it should be declare using sealed modifier.
19. Abstract methods and Abstract Classes.
A method without any body is known as an abstract method what it has only the signature of the method. The class under which you define these abstract methods is called as abstract class. Abstract class can contain non abstract methods also.
Example:
Abstract Class math
{
                Public void test ()
                {//do something
                }
                Public abstract void add (int a,int b);
}
20. Interfaces
In object oriented programming we can also declare abstract members under another container called as interface apart from abstract class. But these interfaces can contain only abstract members in it.
As we know that multiple inheritances is not supported through classes, but it was still supported with “interfaces” i.e. a class can have only one immediate base class to it but can have multiple immediate interfaces are parent.
21. Partial classes
It was an approach of defining a class in more than one file i.e. u can split in class into multiple files. Partial classes provide the following benefits.
·       Splitting  up huge volume of code into multiple files which makes easy to manage
·       Multiple programmers can work on the same class at a time.


Example:
Class parts                              partial class parts                                                   partial class parts
{                                                     {                                                                                      {
Method1 ()                                    Method1 ()                                                                              Method3 ()
Method2 ()                                   Method2 ()                                                                              Method4 ()
Method3 ()                              }                                                                                          }
Method4 ()
}
22. How to restrict a class not to be accessible to any other class.
This can be done by declaring the constructor of the class as private.
23. How to restrict a class not to be inherited to any other class?
This can be done by declaring class as sealed.
24. How to restrict a class not to be accessible for any other class to consume it by creating its object.
This can be done by declaring constructor of the class as protected.
24 Members of the class
As we were aware a class is a collection of members and these members can be of various types like
·       Fields(variables)
·       Methods
·       Constructors
·       Properties
·       Delegates
·       Events
·       Enumerators
Properties: when you want to access to values of a class outside the class this can be done in two ways.
1.   Public variables
2.   Properties
In case of variables if access is provided the user has a chance of getting as well as setting the values the property can be restricted in three ways
1.   Read write Property: Which provides Get and Set Access
2.   Read Only Property: Which provides only Get Access
3.   Write Only Property: Which provides only Set Access
Enumerations:
It is a type with a set of predefined values you can use these values while defining enumerated properties
Enumerated property in the sense a property which you can restrict the values being assigned with the values declared under enumeration.
25. Delegates
These were pointers to methods whenever we call a method to execute a method it creates a “stack” and destroys. Each time the method is called a stack is created and destroyed.
If you want to call a method for multiple times without multiple stacks getting created and destroyed make use of a “Delegate”.
Syntax:        
<Modifiers> delegate<type/void><name> [<parameters>]
Delegates are of two types
1.   Single cast Delegates
2.   Multi cast Delegates
If a delegate is used for calling a single method is called as single cast delegate
If a delegate is user for calling more than one method is known as “Multi cast delegate”.
Note: If we want to call more than one method with delegate the Input/output parameters of all the methods should be same.
Example:
Class math
{
                                       Public void add (int x,int y)
                                       {
                                                Console.writeline(“add”,(x+y));
                                       }
                                       Public void sub (int x,int y)
                                       {
                                                Console.writeline(“sub”,(x-y));
                                       }
                                       Public void mul(int x,int y)
                                       {
                                                Console.writeline(“mul”,(x*Y));
                                       }
                                       Public delegate void multidel(int x,int y);
                                       Static void main ()
                                       {
                                       Math obj= new math ();
                                       Multidel md= new Multidel(obj.add);
                                       Md+=obj.sub;
                                       Md+=obj.mul;
                                       Md+=obj.mul;
                                       Md(150,25);
                                       Console.writeline();
                                       }
}
26. Why it is must for a child class to provide the implementation for all abstract methods of its parents?
We can never create the object of a class which contains any abstract method in it. An abstract class is never useful to itself it can be consumed only by the child class that to after providing the implementation for abstract methods of the parent.
27. How were exceptions implemented in our Language?
Every exception was implemented in the form of a class under the system namespace mostly the parent class for all the exception is the class exception.
28. How does an exception come into picture?
In the process of execution whenever the CLR recognized a problem in the code will invoke the exception manager which recognizes the type of exception and creates the object of related exception class and through it.
The object thrown by the exception manager will abnormally termination the program and displays related error-message.
29. How can we handle an exception?
We can handle an exception using blocks of code known as “try-catch blocks”.
Finally Block: This was another block of code which can be paired with try. The statements we write under this block will execute at any code i.e. when an exception occurred or not.
30. Collections
·       These were objects similar to arrays but can hold a set of dissimilar type values
·       Arrays are fixed length where as collections are variable length which can increase the size when new values being adding to the collection
·       Under .net we were provided with no of collection classes like stack, queue, linked list, sorted list, array list etc which were available under the System. Collection name space
31. Array List
·       These were same as array, which can hold dissimilar type values and also dynamic in size.
·       While creating the object of any collection we can use its default constructors of a parameterized constructor using which you can specify the initial capacity.
·       When the default constructor was used the initial capacity will be zero by default which becomes Four the first value gets added from then it keeps on doubling the capacity whenever required
32. What is the difference between array and array list?
             Array                                                   Arraylist
1. It is similar type values             1. It is a dissimilar type values
2. It is fixed length i.e. fixed size 2.It is variable length i.e.
                                                             Dynamic in size.
3. It is under system namespace 3.It is under collection     
                                                              Namespace  
Example: on stack
Class program
{                                      Static void main (string [] args)
                                       {
                                       Stack s= new Stack ();
                                       s. push(10);s. push(“hello”);s. push(12.35);
                                       foreach(object obj in s)
                                       console.writeline(obj+””);
                                       console.writeline(s.pop());
                                       foreach(object  obj in s)
                                       console.writeline(obj+””);
                                       console.read();
                                       }
}
Example: Array List
Using System. Collections;
Namespace call project
{
                                       Class class1
                                       {
                                                Static void main (string [] args)
                                                {
                                                                Array List list= new Array List ();
                                                                Console. writeline(list.capacity);
                                                                List.add(10);
                                                                Console.writeline(list.capacity);
                                                                List. Add(45.6); List.add(20);
                                                                List.add(false);
                                                                List .add(“hello”);
                                                                Foreach(object obj in list)
                                                                Console.write   (obj+” ”);
                                                                Console.read();
                                                }
                                       }
}               
33. Generic collection. These were newly added in the, net 2.0 specifications which were similar to collection in size or capacity but can hold only similar type of values like an Array.
Generic collection classes are available under system. Collections generic namespace while creating object of a generic collection we can specify the type of value it can hold
Syntax: stack<type t>
Example:
Class class2
{
                                       Static void main (string [] args)
                                       {
                                                List <int> list = new List<int>();
                                                List.Add(10);List.Add(20);List.Add(30);
                                                Foreach(int i in List)
                                                Console.write(i+””);
                                                Console.read();               
                                       }
}
34. Assemblies
·       An assembly is a unit of file that contains IL code corresponding to your project when it was complied.
·       The name of the assembly will be the same as project name from which it was created.
·       Assemblies were known as “unit of deployment” because once the application development is done what we install on client machine is assemblies only
·       An assembly file can have an extension of either exe or dll.
Assemblies are of two types
1.   Private Assembly
2.   Shared Assembly
Private Assembly:
By default every assembly is private, if the reference of these assemblies was added to any project; a copy of the assembly is created and given to the project, so each project maintains a private copy of the assembly.
Shared Assembly:
An assembly that was copied in to GAC (Global Assembly Cache) was known as “Shared Assembly”. If an assembly was shared multiple copies will not be created even if being consumed by multiple projects, only a single copy under GAC serves the entire project.
GAC was a folder under the windows Folder:
C:\windows\assemblyß-------GAC Folder
Note: All the BCL were shared dll assemblies so we can find then under the GAC.
35. What assemblies are copied in to GAC?
We can copy only strong named assemblies in to GAC.
36. What is a strong named Assembly?
An assembly which has 3 attributes like name, version and public key token value were known as “Strong Named Assemblies”.
37. How to generate a public key token?
To generate a public key token value we were provided with a tool strong name utility, which is a command like tool that should be used from Visual Studio command prompt as follows
Sn –k<filename>
Example: sn –k key.snk
38. What assembly contains internally?
An assembly internally contains 3 major things in it.
·       Manifest Info
·       Type Metadata
·       IL Code
Manifest Info: It contains information about the attributes that are associated with an assembly like Title, Description, Company, and Version.
Type Meta data: It contains the information about all the types under Assembly like Namespace, Classes, and their members Structures, Interfaces etc. Type metadata only describes about contents of an assembly so an assembly can be called as self describing unit of execution.
IL Code: These are language instructions we have defined which can be understood by CLR.