ASP.NET interview
questions and answers
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 can.t
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.
©http://www.CApptitudebank.blogspot.com
©http://www.CApptitudebank.blogspot.com
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 user.s 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.
©http://www.CApptitudebank.blogspot.com
©http://www.CApptitudebank.blogspot.com
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 application.s 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.
©http://www.CApptitudebank.blogspot.com
©http://www.CApptitudebank.blogspot.com
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.
©http://www.CApptitudebank.blogspot.com
©http://www.CApptitudebank.blogspot.com
22.
Define the steps to set up validation control.
Following are the steps to set up validation
control
Drag a validation control on a web
form.
Set the ControlToValidate property to
the control to be validated.
If you are using CompareValidator, you
have to specify the ControlToCompare property.
Specify the error message you want to
display using ErrorMessage property.
You can use ValidationSummary control
to show errors at one place.
23.
What are the navigation ways between pages available in ASP.NET?
Ways to navigate between pages are:
Hyperlink control
Response.Redirect method
Server.Transfer method
Server.Execute method
Window.Open script method
24.
How do you open a page in a new window?
To open a page in a new window, you
have to use client script using onclick="window.open()"
attribute of HTML control.
25.
Define authentication and authorization.
Authorization: The process of granting
access privileges to resources or tasks within an
application.
Authentication: The process of
validating the identity of a user.
26.
Define caching.
Caching is the technique of storing
frequently used items in memory so that they can be
accessed more quickly. Caching
technique allows to store/cache page output or application data
on the client on the server. The
cached information is used to serve subsequent requests that
avoid the overhead of recreating the
same information. This enhances performance when same
information is requested many times by
the user.
27.
Define cookie.
A cookie is a small file on the client
computer that a web application uses to maintain current
session information. Cookies are used
to identity a user in a future session.
28.
What is delegate?
A delegate acts like a strongly type
function pointer. Delegates can invoke the methods that they
reference without making explicit
calls to those methods. It is type safe since it holds reference of
©http://www.CApptitudebank.blogspot.com
©http://www.CApptitudebank.blogspot.com
only those methods that match its
signature. Unlike other classes, the delegate class has a
signature. Delegates are used to
implement event programming model in .NET application.
Delegates enable the methods that
listen for an event, to be abstract.
29.
Explain Exception handling in .Net.
Exceptions or errors are unusual
occurrences that happen within the logic of an application. The
CLR has provided structured way to
deal with exceptions using Try/Catch block. ASP.NET
supports some facilities to handling
exceptions using events suck as Page_Error and
Application_Error.
30.
What is impersonation?
Impersonation means delegating one
user identity to another user. In ASP.NET, the anonymous
users impersonate the ASPNET user
account by default. You can use <identity> element of
web.config file to impersonate user.
E.g. <identity impersonate="true"/>
31.
What is managed code in .Net?
The code that runs under the guidance
of common language runtime (CLR) is called managed
code. The versioning and registration
problem which are formally handled by the windows
programming are solved in .Net with
the introduction of managed code. The managed code
contains all the versioning and type
information that the CLR use to run the application.
32.
What are Merge modules?
Merge modules are the deployment
projects for the shared components. If the components are
already installed, the modules merge
the changes rather than unnecessarily overwrite them.
When the components are no longer in
use, they are removed safely from the server using Merge
modules facility.
33.
What is Satellite assembly?
Satellite assembly is a kind of
assembly that includes localized resources for an application. Each
satellite assembly contains the
resources for one culture.
©http://www.CApptitudebank.blogspot.com
©http://www.CApptitudebank.blogspot.com
34.
Define secured sockets layer.
Secured Socket Layer (SSL) ensures a
secured web application by encrypting the data sent over
internet. When an application is using
SSL facility, the server generates an encryption key for the
session and page is encrypted before
it sent. The client browse uses this encryption key to
decrypt the requested Web page.
35.
Define session in ASP.NET.
A session starts when the browser
first request a resources from within the application. The
session gets terminated when either
browser closed down or session time out has been attained.
The default time out for the session
is 20 minutes.
©http://www.CApptitudebank.blogspot.com
©http://www.CApptitudebank.blogspot.com
36.
Define Tracing.
Tracing is the way to maintain events
in an application. It is useful while the application is in
debugging or in the testing phase. The
trace class in the code is used to diagnose problem. You
can use trace messages to your project
to monitor events in the released version of the
application. The trace class is found
in the System.Diagnostics namespace. ASP.NET introduces
tracing that enables you to write
debug statements in your code, which still remain in the code
even after when it is deployed to
production servers.
37.
Define View State.
ASP.NET preserves data between
postback events using view state. You can save a lot of
coding using view state in the web
form. ViewState serialize the state of objects and store in a
hidden field on the page. It retains
the state of server-side objects between postbacks.
It represents the status of the page
when submitted to the server. By default, view state is
maintained for each page. If you do
not want to maintain the ViewState, include the directive
<%@ Page
EnableViewState="false" %> at the top of an .aspx page or add the
attribute
EnableViewState="false" to
any control. ViewState exist for the life of the current page.
38.
What is application domain?
It is the process space within which
ASP.NET application runs. Every application has its own
process space which isolates it from
other application. If one of the application domains throws
error it does not affect the other
application domains.
39.
List down the sequence of methods called during the page load.
Init() . Initializes the page.
Load() . Loads the page in the server
memory.
PreRender() - the brief moment before
the page is displayed to the user as HTML
Unload() . runs just after page
finishes loading.
40.
What is the importance of Global.asax in ASP.NET?
The Global.asax is used to implement
application and session level events.
41.
Define MSIL.
MSIL is the Microsoft Intermediate
Language. All .Net languages. executable exists as MSIL
which gets converted into machine
specific language using JIT compiler just before execution.
42.
Response.Redirect vs Server.Transfer.
Server.Transfer
is
only applicable for aspx files. It transfers page processing to another page
without making round-trip back to the
client.s browser. Since no round trips, it offers faster
response and doesn.t update client url
history list.
Response.Redirect
is
used to redirect to another page or site. This performs a trip back to the
client where the client’s browser is
redirected to the new page.
43.
Explain Session state management options in ASP.NET.
ASP.NET provides In-Process and
Out-of-Process state management. In-Process stores the
session in memory on the web server.
Out-of-Process Session state management stores data in
an external data source such as SQL
Server or a State Server service. Out-of-Process state
management requires that all objects
stored in session are serializable.
44.
How to turn off cookies for a page?
Cookie.Discard Property when true,
instructs the client application not to save the Cookie on the
user.s hard disk when a session ends.
45.
How can you ensure a permanent cookie?
Setting Expires property to MinValue
and restrict cookie to get expired.
46.
What is AutoPostback?
AutoPostBack automatically posts the
page back to the server when state of the control is
changed.
47.
Explain login control and form authentication.
Login controls encapsulate all the
features offered by Forms authentication. Login controls
internally use FormsAuthentication
class to implement security by prompting for user credentials
validating them.
48.
What is the use of Web.config file?
Following are the setting you can
incorporate in web.config file.
Database connections
Error Page setting
Session States
Error Handling
Security
Trace setting
Culture specific setting
49.
Explain in what order a destructors is called.
Destructors are called in reverse
order of constructors. Destructor of most derived class is called
followed by its parent.s destructor
and so on till the topmost class in the hierarchy.
50.
What is break mode? What are the options to step through code?
Answer - Break mode lets you to
observe code line to line in order to locate error.
VS.NET provides following option to
step through code.
Step Into
Step Over
Step Out
Run To Cursor
Set Next Statement
51.
Explain how to retrieve property settings from XML .config file.
Create an instance of
AppSettingsReader class, use GetValue method by passing the name of
the property and the type expected.
Assign the result to the appropriate variable.
52.
Explain Global Assembly Cache.
Global Assembly Cache is the place
holder for shared assembly. If an assembly is installed to the
Global Assembly Cache, the assembly
can be accessed by multiple applications. In order to
install an assembly to the GAC, the
assembly must have to be signed with strong name.
53.
Explain Managed code an Un-managed code.
Managed code runs under the safe
supervision of common language runtime. Managed code
carries metadata that is used by
common language runtime to offer service like memory
management, code access security, and
cross-language accessibility.
Unmanaged code doesn.t follow CLR
conventions and thus, can.t take the advantages of
.Framework.
54.
What is side-by-side execution?
This means multiple version of same
assembly to run on the same computer. This feature
enables to deploy multiple versions of
the component.
55.
Define Resource Files.
Resource files contains non-executable
data
like strings, images etc that are used by an
application and deployed along with
it. You can changes these data without recompiling the
whole application.
56.
Define Globalization and Localization.
Globalization is the process of
creating multilingual application by defining culture specific
features like currency, date and time
format, calendar and other issues.
Localization is the process of
accommodating cultural differences in an application.
57.
What is reflection?
Reflection is a mechanism through
which types defined in the metadata of each module can be
accessed. The System.Reflection
namespaces contains classes that can be used to define the
types for an assembly.
No comments:
Post a Comment