03-08-2012, 03:07 PM
ASP.NET interview questions and answers
asp-net-questions.pdf (Size: 133.63 KB / Downloads: 105)
1. Explain how a web application works.
A web application resides in the server and serves the clients requests over internet. The client
access the web page using browser from his machine. When a client makes a request, it receives
the result in the form of HTML which are interpreted and displayed by the browser.
A web application on the server side runs under the management of Microsoft Internet
Information Services (IIS). IIS passes the request received from client to the application. The
application returns the requested result in the form of HTML to IIS, which in turn, sends the result
to the client.
2. Explain the advantages of ASP.NET.
Following are the advantages of ASP.NET.
Web application exists in compiled form on the server so the execution speed is faster as
compared to the interpreted scripts.
ASP.NET makes development simpler and easier to maintain with an event-driven, server-side
programming model.
Being part of .Framework, it has access to all the features of .Net Framework.
Content and program logic are separated which reduces the inconveniences of program
maintenance.
ASP.NET makes for easy deployment. There is no need to register components because the
configuration information is built-in.
To develop program logic, a developer can choose to write their code in more than 25 .Net
languages including VB.Net, C#, JScript.Net etc.
Introduction of view state helps in maintaining state of the controls automatically between the
postbacks events.
ASP.NET offers built-in security features through windows authentication or other authentication
methods.
Integrated with ADO.NET.
Built-in caching features.
3. Explain the different parts that constitute ASP.NET application.
Content, program logic and configuration file constitute an ASP.NET application.
Content files
Content files include static text, images and can include elements from database.
Program logic
Program logic files exist as DLL file on the server that responds to the user actions.
Configuration file
Configuration file offers various settings that determine how the application runs on the server.
4. Describe the sequence of action takes place on the server when ASP.NET application
starts first time?
Following are the sequences:
IIS starts ASP.NET worker process>> worker process loads assembly in the memory>>IIS sends
the request to the assembly>>the assembly composes a response using program logic>> IIS
returns the response to the user in the form of HTML.
5. Explain the components of web form in ASP.NET
Server controls.
The server controls are Hypertext Markup Language (HTML) elements that include a
runat=server attribute. They provide automatic state management and server-side events and
respond to the user events by executing event handler on the server.
HTML controls.
These controls also respond to the user events but the events processing happen on the client
machine.
Data controls
Data controls allow to connect to the database, execute command and retrieve data from
database.
System components
System components provide access to system-level events that occur on the server.
6. Describe in brief .NET Framework and its components.
.NET Framework provides platform for developing windows and web software. ASP.NET is a part
of .Net framework and can access all features implemented within it that was formerly available
only through windows API. .NET Framework sits in between our application programs and
operating system.
The .Net Framework has two main components:
.Net Framework Class Library: It provides common types such as data types and object types
that can be shared by all .Net compliant language.
The Common language Runtime: It provides services like type safety, security, code execution,
thread management, interoperability services.
7. What is an Assembly? Explain its parts?
An assembly exists as a .DLL or .EXE that contains MSIL code that is executed by CLR.
An assembly contains interface and classes, it can also contain other resources like bitmaps, files
etc. It carries version details which are used by the CLR during execution. Two assemblies of the
same name but with different versions can run side-by-side enabling applications that depend on
a specific version to use assembly of that version. An assembly is the unit on which permissions
are granted. It can be private or global. A private assembly is used only by the application to
which it belongs, but the global assembly can be used by any application in the system.
The four parts of an assembly are:
Assembly Manifest - It contains name, version, culture, and information about referenced
assemblies.
Type metadata - It contains information about types defined in the assembly.
MSIL - MSIL code.
Resources - Files such as BMP or JPG file or any other files required by application.
8. Define Common Type System.
.Net allows developers to write program logic in at least 25 languages. The classes written in one
language can be used by other languages in .Net. This service of .Net is possible through CTS
which ensure the rules related to data types that all language must follow. It provides set of types
that are used by all .NET languages and ensures .NET language type compatibility.
9. Define Virtual folder.
It is the folder that contains web applications. The folder that has been published as virtual folder
by IIS can only contain web applications.
10. Describe the Events in the Life Cycle of a Web Application
A web application starts when a browser requests a page of the application first time. The request
is received by the IIS which then starts ASP.NET worker process (aspnet_wp.exe). The worker
process then allocates a process space to the assembly and loads it. An application_start event
occurs followed by Session_start. The request is then processed by the ASP.NET engine and
sends back response in the form of HTML. The user receives the response in the form of page.
The page can be submitted to the server for further processing. The page submitting triggers
postback event that causes the browser to send the page data, also called as view state to the
server. When server receives view state, it creates new instance of the web form. The data is
then restored from the view state to the control of the web form in Page_Init event.
The data in the control is then available in the Page_load event of the web form. The cached
event is then handled and finally the event that caused the postback is processed. The web form
is then destroyed. When the user stops using the application, Session_end event occurs and
session ends. The default session time is 20 minutes. The application ends when no user
accessing the application and this triggers Application_End event. Finally all the resources of the
application are reclaimed by the Garbage collector.
11. What are the ways of preserving data on a Web Form in ASP.NET?
ASP.NET has introduced view state to preserve data between postback events. View state cant
avail data to other web form in an application. To provide data to other forms, you need to save
data in a state variable in the application or session objects.
12. Define application state variable and session state variable.
These objects provide two levels of scope:
Application State
Data stored in the application object can be shared by all the sessions of the application.
Application object stores data in the key value pair.
Session State
Session State stores session-specific information and the information is visible within the session
only. ASP.NET creates unique sessionId for each session of the application. SessionIDs are
maintained either by an HTTP cookie or a modified URL, as set in the application’s configuration
settings. By default, SessionID values are stored in a cookie.
13. Describe the application event handlers in ASP.NET
Following are the application event handlers:
Application_Start: This event occurs when the first user visits a page of the application.
Application_End: This event occurs when there are no more users of the application.
Application_BeginRequest: This occurs at the beginning of each request to the server.
Application_EndRequest: occurs at the end of each request to the server.
Session_Start: This event occurs every time when any new user visits.
Session_End: occurs when the users stop requesting pages and their session times out.
14. What are the Web Form Events available in ASP.NET?
Page_Init
Page_Load
Page_PreRender
Page_Unload
Page_Disposed
Page_Error
Page_AbortTransaction
Page_CommitTransaction
Page_DataBinding
15. Describe the Server Control Events of ASP.NET.
ASP.NET offers many server controls like button, textbox, DropDownList etc. Each control can
respond to the users actions using events and event handler mechanism.
There are three types of server control events:
Postback events
This events sends the web page to the server for processing. Web page sends data back to the
same page on the server.
Cached events
These events are processed when a postback event occurs.
Validation events
These events occur just before a page is posted back to the server.
16. How do you change the session time-out value?
The session time-out value is specified in the web.config file within sessionstate element.
You can change the session time-out setting by changing value of timeout attribute of
sessionstate element in web.config file.
17. Describe how ASP.NET maintains process isolation for each Web application?
In ASP.NET, when IIS receives a request, IIS uses aspnet_isapi.dll to call the ASP.NET worker
process (aspnet_wp.exe). The ASP.NET worker process loads the Web applications assembly,
allocating one process space, called the application domain, for each application. This is the how
ASP.NET maintains process isolation for each Web application.
18. Define namespace.
Namespaces are the way to organize programming code. It removes the chances of name
conflict. It is quite possible to have one name for an item accidentally in large projects those
results into conflict. By organizing your code into namespaces, you reduce the chance of these
conflicts. You can create namespaces by enclosing a class in a Namespace End Namespace
block.
You can use namespaces outside your project by referring them using References dialog box.
You can use Imports or using statement to the code file to access members of the namespaces in
code.
19. What are the options in ASP.NET to maintain state?
Client-side state management
This maintains information on the client’s machine using Cookies, View State, and Query Strings.
Cookies.
A cookie is a small text file on the client machine either in the client’s file system or memory of
client browser session. Cookies are not good for sensitive data. Moreover, Cookies can be
disabled on the browser. Thus, you can’t rely on cookies for state management.
View State
Each page and each control on the page has View State property. This property allows automatic
retention of page and controls state between each trip to server. This means control value is
maintained between page postbacks. Viewstate is implemented using _VIEWSTATE, a hidden
form field which gets created automatically on each page. You can’t transmit data to other page
using view state.
Querystring
Query strings can maintain limited state information. Data can be passed from one page to
another with the URL but you can send limited size of data with the URL. Most browsers allow a
limit of 255 characters on URL length.
Server-side state management
This kind of mechanism retains state in the server.
Application State
The data stored in the application object can be shared by all the sessions of the application.
Application object stores data in the key value pair.
Session State
Session State stores session-specific information and the information is visible within the session
only. ASP.NET creates unique sessionId for each session of the application. SessionIDs are
maintained either by an HTTP cookie or a modified URL, as set in the application’s configuration
settings. By default, SessionID values are stored in a cookie.
Database
Database can be used to store large state information. Database support is used in combination
with cookies or session state.
20. Explain the difference between Server control and HTML control.
Server events
Server control events are handled in the server whereas HTML control events are handled in the
page.
State management
Server controls can maintain data across requests using view state whereas HTML controls have
no such mechanism to store data between requests.
Browser detection
Server controls can detect browser automatically and adapt display of control accordingly
whereas HTML controls can’t detect browser automatically.
Properties
Server controls contain properties whereas HTML controls have attributes only.
21. What are the validation controls available in ASP.NET?
ASP.NET validation controls are:
RequiredFieldValidator: This validates controls if controls contain data.
CompareValidator: This allows checking if data of one control match with other control.
RangeValidator: This verifies if entered data is between two values.
RegularExpressionValidator: This checks if entered data matches a specific format.
CustomValidator: Validate the data entered using a client-side script or a server-side code.
ValidationSummary: This allows developer to display errors in one place.