ASP.NET interview questions
ASP.NET application with Passport authentication implemented checks the user’s
machine for a current passport authentication cookie. If it is not available,
ASP.NET directs the user to a Passport sign-on page. The Passport service
authenticates the user, stores an authentication cookie on the user’s computer
and direct the user to the requested page.
Explain the steps to be followed to use Passport authentication.
1. Install the Passport SDK.
2. Set the application’s authentication mode to Passport in Web.config.
3. Set authorization to deny unauthenticated users.
3. Use the PassportAuthentication_OnAuthenticate event to access the user’s
Passport profile to identify and authorize the user.
4. Implement a sign-out procedure to remove Passport cookies from the user’s
machine.
Explain the advantages of Passport authentication.
User doesn’t have to remember separate user names and passwords for various Web
sites
User can maintain his or her profile information in a single location.
Passport authentication also avail access to various Microsoft services, such
as Passport Express Purchase.
What is caching?
Caching is the technique of storing frequently used items in memory so that
they can be accessed more quickly.
By caching the response, the request is served from the response already stored
in memory.
It’s important to choose the items to cache wisely as Caching incurs overhead.
A Web form that is frequently used and does not contain data that frequently
changes is good for caching.
A cached web form freezes form’s server-side content and changes to that
content do not appear until the cache is refreshed.
1. Explain how a web application works.
Answer:
A web application resides in the server and serves the client’s 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.
Answer:
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.
Answer:
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
Answer:
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
Answer:
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.
Answer:
.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
Answer:
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.
Answer:
.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.
Answer:
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
Answer:
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?
Answer:
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.
Answer:
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
Answer:
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?
Answer:
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.
Answer:
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.
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?
Answer:
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
Answer:
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.
Answer:
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?
Answer:
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.
Answer:
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?
Answer:
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.
22. Define the steps to set up validation control.
Answer:
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?
Answer:
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?
Answer:
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.
Answer:
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.
Answer:
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.
Answer:
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?
Answer:
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 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.
Answer:
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?
Answer:
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
element of web.config file to impersonate user. E.g.
impersonate=”true”/>
31. What is managed code in .Net?
Answer:
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?
Answer:
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?
Answer:
Satellite assembly is a kind of assembly that includes localized resources for
an application. Each satellite assembly contains the resources for one culture.
34. Define secured sockets layer.
Answer:
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.
Answer:
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.
36. Define Tracing.
Answer:
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.
Answer:
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?
Answer:
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.
Answer:
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?
Answer:
The Global.asax is used to implement application and session level events.
41. Define MSIL.
Answer:
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
Answer:
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.
Answer:
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?
Answer:
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?
Answer:
Setting Expires property to MinValue and restrict cookie to get expired.
46. What is AutoPostback?
Answer:
AutoPostBack automatically posts the page back to the server when state of the
control is changed.
47. Explain login control and form authentication.
Answer:
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?
Answer:
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.
Answer:
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.
Answer:
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.
Answer:
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.
Answer:
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?
Answer:
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.
Answer:
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.
Answer:
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?
Answer:
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.
58. Define Satellite Assemblies.
Answer:
Satellite Assemblies are the special kinds of assemblies that exist as DLL and
contain culturespecific resources in a binary format. They store compiled
localized application resources. They can be created using the AL utility and
can be deployed even after deployment of the application. Satellite Assemblies
encapsulate resources into binary format and thus makes resources lighter and
consume lesser space on the disk.
59. What is CAS?
Answer:
CAS is very important part of .Net security system which verifies if particular
piece of code is allowed to run. It also determines if piece of code have
access rights to run particular resource. .NET security system applies these
features using code groups and permissions. Each assembly of an application is
the part of code group with associated permissions.
60. Explain Automatic Memory Management in .NET.
Answer:
Automatic memory management in .Net is through garbage collector which is
incredibly efficient in releasing resources when no longer in use.
ASP.NET application with Passport authentication implemented checks the user’s
machine for a current passport authentication cookie. If it is not available,
ASP.NET directs the user to a Passport sign-on page. The Passport service
authenticates the user, stores an authentication cookie on the user’s computer
and direct the user to the requested page.
Explain the steps to be followed to use Passport authentication.
1. Install the Passport SDK.
2. Set the application’s authentication mode to Passport in Web.config.
3. Set authorization to deny unauthenticated users.
3. Use the PassportAuthentication_OnAuthenticate event to access the user’s
Passport profile to identify and authorize the user.
4. Implement a sign-out procedure to remove Passport cookies from the user’s
machine.
Explain the advantages of Passport authentication.
User doesn’t have to remember separate user names and passwords for various Web
sites
User can maintain his or her profile information in a single location.
Passport authentication also avail access to various Microsoft services, such
as Passport Express Purchase.
What is caching?
Caching is the technique of storing frequently used items in memory so that
they can be accessed more quickly.
By caching the response, the request is served from the response already stored
in memory.
It’s important to choose the items to cache wisely as Caching incurs overhead.
A Web form that is frequently used and does not contain data that frequently
changes is good for caching.
A cached web form freezes form’s server-side content and changes to that
content do not appear until the cache is refreshed.
1. Explain how a web application works.
Answer:
A web application resides in the server and serves the client’s 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.
Answer:
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.
Answer:
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
Answer:
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
Answer:
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.
Answer:
.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
Answer:
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.
Answer:
.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.
Answer:
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
Answer:
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?
Answer:
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.
Answer:
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
Answer:
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?
Answer:
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.
Answer:
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.
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?
Answer:
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
Answer:
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.
Answer:
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?
Answer:
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.
Answer:
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?
Answer:
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.
22. Define the steps to set up validation control.
Answer:
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?
Answer:
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?
Answer:
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.
Answer:
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.
Answer:
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.
Answer:
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?
Answer:
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 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.
Answer:
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?
Answer:
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
impersonate=”true”/>
31. What is managed code in .Net?
Answer:
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?
Answer:
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?
Answer:
Satellite assembly is a kind of assembly that includes localized resources for
an application. Each satellite assembly contains the resources for one culture.
34. Define secured sockets layer.
Answer:
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.
Answer:
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.
36. Define Tracing.
Answer:
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.
Answer:
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?
Answer:
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.
Answer:
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?
Answer:
The Global.asax is used to implement application and session level events.
41. Define MSIL.
Answer:
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
Answer:
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.
Answer:
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?
Answer:
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?
Answer:
Setting Expires property to MinValue and restrict cookie to get expired.
46. What is AutoPostback?
Answer:
AutoPostBack automatically posts the page back to the server when state of the
control is changed.
47. Explain login control and form authentication.
Answer:
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?
Answer:
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.
Answer:
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.
Answer:
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.
Answer:
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.
Answer:
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?
Answer:
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.
Answer:
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.
Answer:
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?
Answer:
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.
58. Define Satellite Assemblies.
Answer:
Satellite Assemblies are the special kinds of assemblies that exist as DLL and
contain culturespecific resources in a binary format. They store compiled
localized application resources. They can be created using the AL utility and
can be deployed even after deployment of the application. Satellite Assemblies
encapsulate resources into binary format and thus makes resources lighter and
consume lesser space on the disk.
59. What is CAS?
Answer:
CAS is very important part of .Net security system which verifies if particular
piece of code is allowed to run. It also determines if piece of code have
access rights to run particular resource. .NET security system applies these
features using code groups and permissions. Each assembly of an application is
the part of code group with associated permissions.
60. Explain Automatic Memory Management in .NET.
Answer:
Automatic memory management in .Net is through garbage collector which is
incredibly efficient in releasing resources when no longer in use.