Anda di halaman 1dari 92

Question 1: What is ASP.NET?

Answer: ASP.NET was developed in direct response to the problems that developers had with
classic ASP. Since ASP is in such wide use, however, Microsoft ensured that ASP scripts execute
without modification on a machine with the .NET Framework (the ASP engine, ASP.DLL, is not
modified when installing the .NET Framework). Thus, IIS can house both ASP and ASP.NET scripts
on the same machine.

Advantages of ASP.NET

1. Separation of Code from HTML:

To make a clean sweep, with ASP.NET you have the ability to completely separate layout
and business logic. This makes it much easier for teams of programmers and designers to
collaborate efficiently.

2. Support for compiled languages:

Developer can use VB.NET and access features such as strong typing and object-oriented
programming. Using compiled languages also means that ASP.NET pages do not suffer the
performance penalties associated with interpreted code. ASP.NET pages are precompiled to
byte-code and Just In Time (JIT) compiled when first requested. Subsequent requests are
directed to the fully compiled code, which is cached until the source changes.

3. Use services provided by the .NET Framework:

The .NET Framework provides class libraries that can be used by your application. Some of
the key classes help you with input/output, access to operating system services, data
access, or even debugging. We will go into more detail on some of them in this module.

4. Graphical Development Environment:

Visual Studio .NET provides a very rich development environment for web developers. You
can drag and drop controls and set properties the way you do in Visual Basic 6. And you
have full IntelliSense support, not only for your code, but also for HTML and XML.

5. State management:

To refer to the problems mentioned before, ASP.NET provides solutions for session and
application state management. State information can, for example, be kept in memory or
stored in a database. It can be shared across web farms, and state information can be
recovered, even if the server fails or the connection breaks down.

6. Update files while the server is running:

Components of your application can be updated while the server is online and clients are
connected. The framework will use the new files as soon as they are copied to the
application. Removed or old files that are still in use are kept in memory until the clients have
finished.

7. XML-Based Configuration Files:


Configuration settings in ASP.NET are stored in XML files that you can easily read and edit.
You can also easily copy these to another server, along with the other files that comprise
your application.

ASP.NET Overview

Here are some points that give the quick overview of ASP.NET.

 ASP.NET provides services to allow the creation, deployment, and execution of Web
Applications and Web Services.

 Like ASP, ASP.NET is a server-side technology.

 Web Applications are built using Web Forms. ASP.NET comes with built-in Web Forms
controls, which are responsible for generating the user interface. They mirror typical HTML
widgets like text boxes or buttons. If these controls do not fit your needs, you are free to
create your own user controls.

 Web Forms are designed to make building web-based applications as easy as building
Visual Basic applications.

For further information click on the link:

 Introduction to ASP.NET

Question 2: What are the different validators in ASP.NET?


Answer: ASP.NET validation controls define an important role in validating the user input data.
Whenever the user gives the input, it must always be validated before sending it across to various
layers of an application. If we get the user input with validation, then chances are that we are
sending the wrong data. So, validation is a good idea to do whenever we are taking input from the
user.

There are the following two types of validation in ASP.NET:

 Client-Side Validation
 Server-Side Validation

Client-Side Validation:

When validation is done on the client browser, then it is known as Client-Side Validation. We use
JavaScript to do the Client-Side Validation.

Server-Side Validation:

When validation occurs on the server, then it is known as Server-Side Validation. Server-Side
Validation is a secure form of validation. The main advantage of Server-Side Validation is if the user
somehow bypasses the Client-Side Validation, we can still catch the problem on server-side.

The following are the Validation Controls in ASP.NET:


 RequiredFieldValidator Control
 CompareValidator Control
 RangeValidator Control
 RegularExpressionValidator Control
 CustomFieldValidator Control
 ValidationSummary

For further information click on the link:

 Validation Controls in ASP.Net

Question 3: What is View State?


Answer: View State is the method to preserve the Value of the Page and Controls between round
trips. It is a Page-Level State Management technique. View State is turned on by default and
normally serializes the data in every control on the page regardless of whether it is actually used
during a post-back.

A web application is stateless. That means that a new instance of a page is created every time when
we make a request to the server to get the page and after the round trip our page has been lost
immediately

Features of View State

These are the main features of view state:

1. Retains the value of the Control after post-back without using a session.
2. Stores the value of Pages and Control Properties defined in the page.
3. Creates a custom View State Provider that lets you store View State Information in a SQL
Server Database or in another data store.

Advantages of View State

1. Easy to Implement.
2. No server resources are required: The View State is contained in a structure within the page
load.
3. Enhanced security features: It can be encoded and compressed or Unicode implementation.

For further information click on the link:

 What is View State and How it Works in ASP.NET

Question 4: What are the different Session state management options


available in ASP.NET?
Answer: State Management in ASP.NET

 A new instance of the Web page class is created each time the page is posted to the server.
 In traditional Web programming, all information that is associated with the page, along with
the controls on the page, would be lost with each roundtrip.

 The Microsoft ASP.NET framework includes several options to help you preserve data on
both a per-page basis and an application-wide basis.
These options can be broadly divided into the following two categories:

o Client-Side State Management Options


o Server-Side State Management Options

Client-Side State Management

 Client-based options involve storing information either in the page or on the client computer.

 Some client-based state management options are:

o Hidden fields
o View state
o Cookies
o Query strings

Server-Side State Management

 There are situations where you need to store the state information on the server side.

 Server-side state management enables you to manage application-related and session-


related information on the server.

 ASP.NET provides the following options to manage state at the server side:

o Application state
o Session state
For further information click on the link:

 State Management in ASP.Net

Question 5: What is caching in ASP.NET?


Answer: Caching is one of the most interesting concept and operation in ASP.NET. If you can
handle it, you can run any web application by applying the caching concept depending on the
requirements.

Caching is for providing solutions or the results to the users depending on their request, admin
needs to recreate the pages often depending on user requests…STOP!!! "A cache simply stores the
output generated by a page in the memory and this saved output (cache) will serve us (users) in the
future.".

Types
For further information click on the link:

 Caching in ASP.Net

Question 6: How can we apply themes in ASP.NET application?


Answer: A theme is a collection of settings that define the look of controls and web pages. These
themes are applied across all the pages in a web application to maintain a consistent appearance.
Themes are included images and skin files; the skin files set the visual properties of ASP.NET
controls. Themes are of two types:

Page Theme

A Page theme contains the control skins, style sheets, graphic files, and other resources inside the
subfolder of the App_Theme folder in the Solution Explorer window. A page theme is applied to a
single page of the web site.

Global Theme

A Global theme is a theme that is applied to all the web sites on a web server and includes property
settings, and graphics. This theme allows us to maintain all the websites on the same web server
and define the same style for all the web pages of the web sites.
For further information click on the link:

 Creating Web Application Using Themes in ASP.NET

Question 7: What is MVC?


Answer: Model-View-Controller (MVC) is a pattern to separate an application into the following three
main components:

1. Model
2. View
3. Controller
The ASP.NET MVC framework provides an alternative to the ASP.NET Web Forms pattern for
creating web applications. The ASP.NET MVC Framework is a lightweight, highly testable
presentation framework that (as with Web Forms-based applications) is integrated with existing
ASP.NET features, such as master pages and membership-based authentications. The MVC
framework is defined in the System.Web.Mvc assembly. It provides full control over HTML,
JavaScript and CSS. It's the better as well as a recommended approach for large-scale applications
where various teams are working together.

The ASP.NET MVC framework offers the following advantages:

 It makes it very easy to manage complexity by dividing an application into the Model, View
and Controller.
 It does not use view state or server-based forms.
 Full control over HTML, JavaScript and CSS.
 It provides better support for Test-Driven Development (TDD).
 It works well for Web applications that are supported by large teams of developers and for
web designers who need a high degree of control over the application behaviour.
 By default support of Facebook and Google Authentication.
 It easy to manage a large application to divide in multiple areas.

For further information click on the link:

 Getting Started With ASP.Net MVC

Question 8: What are Cookies in ASP.NET?


Answer: Cookies are a State Management Technique that can store the values of control after a
post-back. Cookies can store user-specific Information on the client's machine like when the user
last visited your site. Cookies are also known by many names, such as HTTP Cookies, Browser
Cookies, Web Cookies, Session Cookies and so on. Basically cookies are a small text file sent by
the web server and saved by the Web Browser on the client's machine.

List of properties containing the HttpCookies Class:

1. Domain: Using these properties we can set the domain of the cookie.
2. Expires: This property sets the Expiration time of the cookies.
3. HasKeys: If the cookies have a subkey then it returns True.
4. Name: Contains the name of the Key.
5. Path: Contains the Virtual Path to be submitted with the Cookies.
6. Secured: If the cookies are to be passed in a secure connection then it only returns True.
7. Value: Contains the value of the cookies.

Limitation of the Cookies

1. The size of cookies is limited to 4096 bytes.


2. A total of 20 cookies can be used in a single website.

For further info click on the link:

 Introduction To Cookies in ASP.Net

Question 9: What is Ajax in ASP.NET?


Answer. Ajax stands for Asynchronous JavaScript and XML; in other words Ajax is the combination
of various technologies such as a JavaScript, CSS, XHTML, DOM, etc.

AJAX allows web pages to be updated asynchronously by exchanging small amounts of data with
the server behind the scenes. This means that it is possible to update parts of a web page, without
reloading the entire page.

We can also define Ajax is a combination of client side technologies that provides asynchronous
communication between the user interface and the web server so that partial page rendering occurs
instead of complete page post back.

Ajax is platform-independent; in other words AJAX is a cross-platform technology that can be used
on any Operating System since it is based on XML & JavaScript. It also supports open source
implementation of other technology. It partially renders the page to the server instead of complete
page post back. We use AJAX for developing faster, better and more interactive web applications.
AJAX uses a HTTP request between web server & browser.

 With AJAX, when a user clicks a button, you can use JavaScript and DHTML to immediately
update the UI, and spawn an asynchronous request to the server to fetch results.

 When the response is generated, you can then use JavaScript and CSS to update your UI
accordingly without refreshing the entire page. While this is happening, the form on the users
screen doesn't flash, blink, disappear, or stall.

 The power of AJAX lies in its ability to communicate with the server asynchronously, using a
XMLHttpRequest object without requiring a browser refresh.

 Ajax essentially puts JavaScript technology and the XMLHttpRequest object between your
Web form and the server.

For further info click on the link:

 Introduction to Ajax and Ajax Control Toolkit


Question 10: What are Web Services in ASP.NET?
Answer: A Web Service is a software program that uses XML to exchange information with other
software via common internet protocols. In a simple sense, Web Services are a way for interacting
with objects over the Internet.

A web service is:

 Language Independent.
 Protocol Independent.
 Platform Independent.
 It assumes a stateless service architecture.
 Scalable (e.g. multiplying two numbers together to an entire customer-relationship
management system).
 Programmable (encapsulates a task).
 Based on XML (open, text-based standard).
 Self-describing (metadata for access and use).
 Discoverable (search and locate in registries)- ability of applications and developers to
search for and locate desired Web services through registries. This is based on UDDI.

Key Web Service Technologies:

 XML- Describes only data. So, any application that understands XML-regardless of the
application's programming language or platform-has the ability to format XML in a variety of
ways (well-formed or valid).
 SOAP- Provides a communication mechanism between services and applications.
 WSDL- Offers a uniform method of describing web services to other programs.
 UDDI- Enables the creation of searchable Web services registries.

For further info click on the link:

 ASP.NET Web Service Basics

Question 11: What are the Advantages of ASP.NET?


Answer: ASP.NET provides services to allow the creation, deployment, and execution of Web
Applications and Web Services like ASP, ASP.NET is a server-side technology. Web Applications
are built using Web Forms. ASP.NET comes with built-in Web Form controls, which are responsible
for generating the user interface. They mirror typical HTML widgets such as text boxes or buttons. If
these controls do not fit your needs, you are free to create your own user controls.

Advantages of ASP.NET:

 Separation of Code from HTML


 Support for compiled languages
 Use services provided by the .NET Framework
 Graphical Development Environment
 Update files while the server is running
 XML-Based Configuration Files

For further info click on the link:

 Introduction to ASP.NET

Question 12: What is the concepts of Globalization and Localization in


.NET?
Answer: Localization means "process of translating resources for a specific culture", and
Globalization means "process of designing applications that can adapt to different cultures".

 Proper Globalization: Your application should be able to Accept, Verify, and Display all
global kind of data. It should well also be able to operate over this data, accordingly. We will
discuss more about this "Accordingly operations over diff. culture data".

 Localizability and Localization: Localizability stands for clearly separating the components
of culture based operations regarding the user interface, and other operations from the
executable code.

.NET framework has greatly simplified the task of creating the applications targeting the clients of
multiple cultures. The namespaces involved in creation of globalize, localizing applications are:

 System.Globalization
 System.Resources
 System.Text
For further info click on the link:

 Globalization and Localization in .NET: Part I

Question 13: What is the Web.config file in ASP?


Answer: Configuration file is used to manage various settings that define a website. The settings
are stored in XML files that are separate from your application code. In this way you can configure
settings independently from your code. Generally a website contains a single Web.config file stored
inside the application root directory. However there can be many configuration files that manage
settings at various levels within an application.

Usage of configuration file

ASP.NET Configuration system is used to describe the properties and behaviors of various aspects
of ASP.NET applications. Configuration files help you to manage the settings related to your
website. Each file is an XML file (with the extension .config) that contains a set of configuration
elements. Configuration information is stored in XML-based text files.

Benefits of XML-based Configuration files:

 ASP.NET Configuration system is extensible and application specific information can be


stored and retrieved easily. It is human readable.
 You need not restart the web server when the settings are changed in configuration file.
ASP.NET automatically detects the changes and applies them to the running ASP.NET
application.
 You can use any standard text editor or XML parser to create and edit ASP.NET
configuration files.

For further info click on the link:

 ASP.NET Web Configuration File

Question 14: What is the App Domain Concept in ASP.NET?


Answer: ASP.NET introduces the concept of an Application Domain which is shortly known
as AppDomain. It can be considered as a Lightweight process which is both a container and
boundary. The .NET runtime uses an AppDomain as a container for code and data, just like the
operating system uses a process as a container for code and data. As the operating system uses a
process to isolate misbehaving code, the .NET runtime uses an AppDomain to isolate code inside a
secure boundary.

The CLR can allow the multiple .NET applications to run in a single AppDomain. Mulitple
Appdomains can exist in Win32 process.

How to create AppDomain: AppDomains are created using the CreateDomain method.
AppDomain instances are used to load and execute assemblies (Assembly). When an AppDomain is
no longer in use, it can be unloaded.

1. public class MyAppDomain: MarshalByRefObject


2. {
3. public string GetInfo()
4. {
5. return AppDomain.CurrentDomain.FriendlyName;
6. }
7. }
8. public class MyApp
9. {
10. public static void Main()
11. {
12. AppDomain apd = AppDomain.CreateDomain("Rajendrs Domain");
13. MyAppDomain apdinfo = (MyAppDomain) apd.CreateInstanceAndUnwrap(Assembly.GetCal
lingAssembly()
14. .GetName()
15. .Name, "MyAppDomain");
16. Console.WriteLine("Application Name = " + apdinfo.GetInfo());
17. }
18. }

For further info click on the link:

 AppDomain concept in ASP.Net

Question 15: What is Query String in ASP?


Answer: A QueryString is a collection of characters input to a computer or web browser. A Query
String is helpful when we want to transfer a value from one page to another. When we need to pass
content between the HTML pages or aspx Web Forms in the context of ASP.NET, a Query String is
Easy to use and the Query String follows a separating character, usually a Question Mark (?). It is
basically used for identifying data appearing after this separating symbol. A Query String Collection
is used to retrieve the variable values in the HTTP query string. If we want to transfer a large amount
of data then we can't use the Request.QueryString. Query Strings are also generated by form
submission or can be used by a user typing a query into the address bar of the browsers.

Syntax of Query String

Request.QueryString(variable)[(index).count]

Advantages:

 Simple to Implement
 Easy to get information from Query string.
 Used to send or read cross domain (from different domain).
Disadvantages:

 Human Readable
 Client browser limit on URL length
 Cross paging functionality makes it redundant
 Easily modified by end user

For further info click on the link:

 Query Strings in ASP.Net

Question 16: What is master page in ASP.NET?


Answer: The extension of MasterPage is '.master'. MasterPage cannot be directly accessed from
the client because it just acts as a template for the other Content Pages. In a MasterPage we can
have content either inside ContentPlaceHolder or outside it. Only content inside
the ContentPlaceHolder can be customized in the Content Page. We can have multiple masters in
one web application.A MasterPage can have another MasterPage as Master to it. The
MasterPageFile property of a webform can be set dynamically and it should be done either in or
before the Page_PreInit event of the WebForm. Page.MasterPageFile =
"MasterPage.master". The dynamically set Master Page must have the ContentPlaceHolder whose
content has been customized in the WebForm.

A master page is defined using the following code:

<%@ master language="C#" %>

Adding a MasterPage to the Project

1. Add a new MasterPage file (MainMaster.master) to the Web Application.


2. Change the Id of ContentPlaceHolder in <Head> to "cphHead" and the Id
"ContentPlaceHolder1" to "cphFirst".
3. Add one more ContentPlaceHolder (cphSecond) to Master page.
4. To the master page add some header, footer and some default content for both the content
place holders.
1. <form id="form1" runat="server"> Header...
2. <br />
3. <asp:ContentPlaceHolder id="cphFirst" runat="server"> This is First Content
Place Holder (Default) </asp: ContentPlaceHolder>
4. <br />
5. <asp:ContentPlaceHolder ID="cphSecond" runat="server">

This is Second Content Place Holder (Default).

1. </asp:ContentPlaceHolder>
2. <br /> Footer...
3. </form>

For further info click on the link:


 Master Page in ASP.NET

Question 17: What is tracing in .NET?


Answer: Tracing helps to see the information of issues at the runtime of the application. By default
Tracing is disabled.

Tracing has the following important features:

1. We can see the execution path of the page and application using the debug statement.
2. We can access and manipulate trace messages programmatically.
3. We can see the most recent tracing of the data.

Tracing can be done with the following 2 types.

1. Page Level: When the trace output is displayed on the page and for the page-level tracing
we need to set the property of tracing at the page level.

<%@ Page Trace="true" Language="C#"

2. Application: Level: In Application-Level tracing the information is stored for each request of
the application. The default number of requests to store is 10. But if you want to increase the
number of requests and discard the older request and display a recent request then you
need to set the property in the web.config file.

<trace enabled="true"/>

For further info click on the link:

 Introduction to Tracing in .Net

Question 18: What are the data controls available in ASP.NET?


Answer: The Controls having DataSource Property are called Data Controls in ASP.NET. ASP.NET
allows powerful feature of data binding, you can bind any server control to simple properties,
collections, expressions and/or methods. When you use data binding, you have more flexibility when
you use data from a database or other means.

Data Bind controls are container controls.

Controls -> Child Control

Data Binding is binding controls to data from databases. With data binding we can bind a control to a
particular column in a table from the database or we can bind the whole table to the data grid.

Data binding provides simple, convenient, and powerful way to create a read/write link between the
controls on a form and the data in their application.

Data binding allows you to take the results of properties, collection, method calls, and database
queries and integrate them with your ASP.NET code. You can combine data binding with Web
control rendering to relieve much of the programming burden surrounding Web control creation. You
can also use data binding with ADO.NET and Web controls to populate control contents from SQL
select statements or stored procedures.

Data binding uses a special syntax:

<%# %>

The <%#, which instructs ASP.NET to evaluate the expression. The difference between a data
binding tags and a regular code insertion tags <% and %> becomes apparent when the expression
is evaluated. Expressions within the data binding tags are evaluated only when the DataBind method
in the Page objects or Web control is called.

Data Bind Control can display data in connected and disconnected model.

Following are data bind controls in ASP.NET:

 Repeater Control
 DataGrid Control
 DataList Control
 GridView Control
 DetailsView
 FormView
 DropDownList
 ListBox
 RadioButtonList
 CheckBoxList
 BulletList etc.

For further info click on the link:

 Data Bind Controls in ASP.NET

Question 19: What are the major events in global.aspx?


Answer: The Global.asax file, which is derived from the HttpApplication class, maintains a pool of
HttpApplication objects, and assigns them to applications as needed. The Global.asax file contains
the following events:

 Application_Init
 Application_Disposed
 Application_Error
 Application_Start
 Application_End
 Application_BeginReques

For further info click on the link:

 Major Events in GLOBAL.ASAX file

Question 20: Use of CheckBox in .NET?


Answer: The CheckBox control is a very common control of HTML, unlike radio buttons it can select
multiple items on a webpage. The CheckBox control in ASP.NET has many properties and some of
them are listed below.

Property Description
Specifies whether the form should be posted immediately after the Checked
AutoPostBack
property has changed or not. The default is false.
CausesValidation Specifies if a page is validated when a Button control is clicked.
Checked Specifies whether the check box is checked or not.
InputAttributes Attribute names and values used for the Input element for the CheckBox control.
LabelAttributes Attribute names and values used for the Label element for the CheckBox control.
runat Specifies that the control is a server control. Must be set to "server".
Text The text next to the check box.
TextAlign On which side of the check box the text should appear (right or left).
Group of controls for which the Checkbox control causes validation when it posts
ValidationGroup
back to the server.
OnCheckedChanged The name of the function to be executed when the Checked property has changed.

For further info click on the link:

 Use CheckBox inside Gridview in ASP.NET

Question 21: What is the authentication and authorization in


ASP.NET?
Answer

 Authentication: Prove genuineness


 Authorization: process of granting approval or permission on resources.

In ASP.NET authentication means to identify the user or in other words its nothing but to validate
that he exists in your database and he is the proper user.

Authorization means does he have access to a particular resource on the IIS website. A resource
can be an ASP.NET web page, media files (MP4, GIF, JPEG etc), compressed file (ZIP, RAR) etc.
Types of authentication and authorization in ASP.NET

There are three ways of doing authentication and authorization in ASP.NET:

 Windows authentication: In this methodology ASP.NET web pages will use local windows
users and groups to authenticate and authorize resources.

 Forms Authentication: This is a cookie based authentication where username and


password are stored on client machines as cookie files or they are sent through URL for
every request. Form-based authentication presents the user with an HTML-based Web page
that prompts the user for credentials.

 Passport authentication: Passport authentication is based on the passport website


provided by the Microsoft .So when user logins with credentials it will be reached to the
passport website ( i.e. hotmail,devhood,windows live etc) where authentication will happen. If
Authentication is successful it will return a token to your website.

 Anonymous access: If you do not want any kind of authentication then you will go for
Anonymous access.

In 'web.config' file set the authentication mode to 'Windows' as shown in the below code snippets.

1. <authentication mode="Windows"/>

We also need to ensure that all users are denied except authorized users. The below code snippet
inside the authorization tag that all users are denied. '?' indicates any unknown user.

1. <authorization>
2. <deny users="?"/>
3. </authorization>

For further info click on the link:

 ASP.NET Authentication and Authorization

Question 22: What are the HTML server control in ASP.NET?


Answer: The Microsoft.NET Framework provides a rich set of server-side controls for developing
Web applications. You can add these controls to WebForms pages just as you add Windows
controls to a form. Server-side controls are often called server controls or Web Forms controls.
There are four types of Server controls: HTML server controls. Web server controls, validation
control, and user controls.

 HTML Server controls

HTML developers must be familiar with old HTML controls, which they use to write GUI
applications in HTML. These controls are the same HTML controls; you can run these
controls on the server by defining the runat ="server" attribute. These control names start
with Html.

Controls Description
HtmlForm Create an HTML form control, used as a place holder of other controls.
HtmlInputText Creates an input text box control used to get input from user.
HtmltextArea Creates multiline text box control.
HtmlAnchor Creates a Web navigation.
HtmlButton Creates a button control.
HtmlImage Creates an image control, which is used to display an image.
HtmlInputCheckBox Creates a check box control.
HtmlInputRadioButton Creates a radio button control.
HtmlTable Creates a table control.
HtmlTableRow Creates a row within a table.
HtmlTableCell Creates a cell with in a row.

o Web Server Controls


o Validation Controls
o User Controls

For further info click on the link:

 ASP .NET Server-Side controls

Question 23: What are the authentication modes in ASP.NET for


security?
Answer: When you begin a program for a customer using ASP.NET, you should consider about
security. Security is one of the most important components of any application. Security is even more
important when you are making a web application which is exposed to million of users. ASP.NET
provides classes and methods that ensure that the application is secure from outside attacks. In this
article we will investigate the different types of authentication provided by ASP.NET. In web.config
file you can set authentication mode value 'windows' or 'forms'. What's about difference and how to
you use them? (Authentication have some other values to, this article does not consider them.).

How to use mode "Windows"?


Windows Authentication mode provides the developer to authenticate a user based on Windows
user accounts. This is the default authentication mode provider by ASP.NET. This will return the
computer name along with the user name.

1. <authentication mode="Windows">
2. <forms name=" AuthenticationDemo" loginUrl="logon.aspx" protection="All" path="/"tim
eout="30" />
3. </authentication>

How to use mode "Forms"?

Insert the <Forms> tag, and fill the appropriate attributes.

1. <authentication mode="Forms">
2. <forms name=" AuthenticationDemo" loginUrl="logon.aspx" protection="All" path="/"tim
eout="30" />
3. </authentication>

For further info click on the link:

 Authentication Modes in ASP.Net for Security

Question 24: What is the web API in ASP.NET?


Answer: It is a framework provided by Microsoft for writing HTTP services. There are many
frameworks available to build HTTP based services. They follow a common guideline of international
standardization but with different flavors.

For example, all framework must adhere to these status codes-

 1xx - Informational Message


 2xx - Successful
 3xx - Redirection
 4xx - Client Error
 5xx - Server Error

Features:

 It is light weight and thus good for small devices also like tablets, smart phones.
 No tedious & extensive configuration like WCF REST is required.
 MediaTypeFormatter makes easy to configure your APIs response type in single line (JSON,
XML and so on).
 IIS Hosting dependency is no more and it can be hosted in application too.
 Easy and simple control with HTTP features such as Caching, Versioning, request/response
headers and its various content formats.
 It support content-negotiation (deciding the best response data format that client can accept).

For further info click on the link:

 Basic Understanding On ASP.NET Web API


Question 25: Describe application state management in ASP.NET?
Answer: Application Level State Management is used to maintain the state of all the users
accessing the web forms present within the website.

The value assigned for an application is considered as an object.

Application object will not have any default expiration period.

Whenever the webserver has been restarted or stopped then the information maintained by the
application object will be lost.

If any data is stored on the application object then that information will be shared upon all the users
accessing the webserver.

Since the information is shared among all the users, it is advisable to lock and unlock the application
object as per requirement.

Global Application Class(Global.asax):

It is a Class which consists of event handlers which executes the code implicitly whenever a relevant
task has been performed on the web server.Design:

1. <%@ Application Language="C#" %>


2. <script runat="server">
3. void Application_Start(object sender, EventArgs e)
4. {
5. // Code that runs on application startup
6. }
7. void Application_End(object sender, EventArgs e)
8. {
9. // Code that runs on application shutdown
10. }
11. void Application_Error(object sender, EventArgs e)
12. {
13. // Code that runs when an unhandled error occurs
14. }
15. void Session_Start(object sender, EventArgs e)
16. {
17. // Code that runs when a new session is started
18. }
19. void Session_End(object sender, EventArgs e)
20. {
21. // Code that runs when a session ends.
22. }
23. </script>

For further info click on the link:

 Application Level State Management in ASP.NET

Question 26: What is the code behind and Inline Code?


Answer:
Code Behind

Code Behind refers to the code for an ASP.NET Web page that is written in a separate class file that
can have the extension of .aspx.cs or .aspx.vb depending on the language used. Here the code is
compiled into a separate class from which the .aspx file derives. You can write the code in a
separate .cs or .vb code file for each .aspx page. One major point of Code Behind is that the code
for all the Web pages is compiled into a DLL file that allows the web pages to be hosted free from
any Inline Server Code.

Inline Code

Inline Code refers to the code that is written inside an ASP.NET Web Page that has an extension of
.aspx. It allows the code to be written along with the HTML source code using a <Script> tag. It's
major point is that since it's physically in the .aspx file it's deployed with the Web Form page
whenever the Web Page is deployed.

For further info click on the link:

 Code Behind and Inline Code in ASP.NET

Question 27: What is the ASP.NET page life Cycle?


Answer: When a page is requested by the user from the browser, the request goes through a series
of steps and many things happen in the background to produce the output or send the response
back to the client. The periods between the request and response of a page is called the "Page Life
Cycle".

 Request: Start of the life cycle (sent by the user).


 Response: End of the life cycle (sent by the server).

There are four stages that occur during the Page Life Cycle before the HTML Response is returned
to the client. Later in this article we"ll study all these stages and their sub events.

1. Initialization
2. Loading
3. Rendering
4. Unloading

During this stage the IsPostback property is set. The page determines whether the request
is a Postback (old request) or if this is the first time the page is being processed (new
Initialization request). Controls on the page are available and each control's UniqueID property is set.
Now if the current request is a postback then the data has not been loaded and the value of
the controls have not yet been restored from the view state.
Loading At this stage if the request is a Postback then it loads the data from the view state.
Before rendering, the View State is saved for the page and its controls. During this phase,
Rendering the page calls the render method for each control, providing a text writer that writes its
output to the OutputStream of the page's Response property.
Unload is called after the page has been fully rendered, sent to the client and is ready to be
Unloading discarded. At this point also the page properties such as Response and Request are
unloaded.
For further info click on the link:

 ASP.Net Page Life Cycle

Question 28: What is the ASP.NET page life cycle events?


Answer: We have many events in ASP.NET page life cycle let’s see some most important events:

 Page request

When ASP.NET gets a page request, it decides whether to parse and compile the page or
there would be a cached version of the page; accordingly the response is sent,

 Starting of page life cycle

At this stage, the Request and Response objects are set. If the request is an old request or
post back, the IsPostBack property of the page is set to true. The UICulture property of the
page is also set.

 Page initialization

At this stage, the controls on the page are assigned unique ID by setting the UniqueID
property and themes are applied. For a new request postback data is loaded and the control
properties are restored to the view-state values.

 Page load

At this stage, control properties are set using the view state and control state values.

 Validation

Validate method of the validation control is called and if it runs successfully, the IsValid
property of the page is set to true.

 Postback event handling

If the request is a postback (old request), the related event handler is called.

 Page rendering

At this stage, view state for the page and all controls are saved. The page calls the Render
method for each control and the output of rendering is written to the OutputStream class of
the Page's Response property.

 Unload

The rendered page is sent to the client and page properties, such as Response and Request
are unloaded and all cleanup done.

ASP.NET Page Life Cycle Events

Following are the page life cycle events:


 PreInit

PreInit is the first event in page life cycle. It checks the IsPostBack property and determines
whether the page is a postback. It sets the themes and master pages, creates dynamic
controls and gets and sets profile property values. This event can be handled by overloading
the OnPreInit method or creating a Page_PreInit handler.

 Init

Init event initializes the control property and the control tree is built. This event can be
handled by overloading the OnInit method or creating a Page_Init handler.

 InitComplete

InitComplete event allows tracking of view state. All the controls turn on view-state tracking.

 LoadViewState

LoadViewState event allows loading view state information into the controls.

 LoadPostData

During this phase, the contents of all the input fields defined with the <form> tag are
processed.

 PreLoad

PreLoad occurs before the post back data is loaded in the controls. This event can be
handled by overloading the OnPreLoad method or creating a Page_PreLoad handler.

 Load

The Load event is raised for the page first and then recursively for all child controls. The
controls in the control tree are created. This event can be handled by overloading the
OnLoad method or creating a Page_Load handler.

 LoadComplete

The loading process is completed, control event handlers are run and page validation takes
place. This event can be handled by overloading the OnLoadComplete method or creating a
Page_LoadComplete handler.

 PreRender

The PreRender event occurs just before the output is rendered. By handling this event,
pages and controls can perform any updates before the output is rendered.

 PreRenderComplete

as the PreRender event is recursively fired for all child controls, this event ensures the
completion of the pre-rendering phase.
 SaveStateComplete

State of control on the page is saved. Personalization, control state and view state
information is saved. The HTML markup is generated. This stage can be handled by
overriding the Render method or creating a Page_Render handler.

 UnLoad

The UnLoad phase is the last phase of the page life cycle. It raises the UnLoad event for all
controls recursively and lastly for the page itself. Final cleanup is done and all resources and
references, such as database connections, are freed. This event can be handled by
modifying the OnUnLoad method or creating a Page_UnLoad handler.

For further info click on the link:

 Page Life Cycle in ASP.Net and its Events

Question 29: Describe login Controls in ASP?


Answer: The Login control provides the user interface to log a user into a web site. The Login
control uses the Membership service to authenticate the user in your membership system. The
default Membership service from your configuration file will be used automatically, however you can
also set the Membership provider that you would like used as a property on the control.

The Login Control consists of:

 Username Label and Textbox: Collects the string used to identify the user in the
membership system.
 Password Label and Textbox: Collects the password for the specified user. The textbox
text is always obscured.
 LoginButton: The button to submit the users request for authentication.
 RememberMe: Configurable to display a checkbox giving the user the option to store a
persistent cookie on the user's machine.
 Title and Instruction: Text to orient and guide the user through the process.
 Links: Configurable links to help, password recovery and user registration information.
 Validators: Required field Validators for the username and password textboxes.

For Example:

1. <asp:Login ID="Login1" runat="server" BackColor="#FFE0C0" BorderColor="Red" ></asp:Logi


n>

For further info click on the link:

 How to use Login Control in Visual Studio 2008

Question 30: How to use repeater control in ASP.NET?


Answer: A Repeater is a Data-bound control. Data-bound controls are container controls. It creates
a link between the Data Source and the presentation UI to display the data. The repeater control is
used to display a repeated list of items.
The main use of Repeater Control is for displaying a repeated list of items bound to the control. A
Repeater Control is faster and lightweight for displaying data compared to a GridView or DataGrid.
With the Repeater control we can display data in a custom format. The main drawback of a Repeater
Control is that it doesn't support paging and sorting.

The Repeater Control has the following types of template fields:

 Item Template
 AlternatingItem Template
 Header Template
 Footer Template
 Separator Template

Write connection code and select command in code bihaind file like:

1. protected void Page_Load(object sender, EventArgs e)


2. {
3. SqlConnection con = new SqlConnection("Data Source=MCNDESKTOP34;Initial Catalog=yat
endra;Persist Security Info=True;User ID=sa;
4. Password = Password$2 ");
5. SqlDataAdapter sda = new SqlDataAdapter("select * from Student_Details1", con);
DataTable dt = new DataTable(); sda.Fill(dt); Repeater1.DataSource = dt; Repeater1.Dat
aBind();
6. }

Now use Repeater control object in .aspx file like:

1. <asp:Repeater ID="Repeater1" runat="server">


2. <ItemTemplate>
3. <div>
4. <table>
5. <tr>
6. <th>Student
7. <%#Eval("S_ID")%>
8. </th>
9. </tr>
10. <tr>
11. <td>Student Name</td>
12. <td>
13. <%#Eval("Student_Name")%>
14. </td>
15. </tr>
16. <tr>
17. <td>Registration Number</td>
18. <td>
19. <%#Eval("Register_No")%>
20. </td>
21. </tr>
22. <tr>
23. <td>Date Of Birth</td>
24. <td>
25. <%#Eval("D_O_B")%>
26. </td>
27. </tr>
28. <tr>
29. <td>Date Of Examination</td>
30. <td>
31. <%#Eval("D_O_E")%>
32. </td>
33. </tr>
34. <tr>
35. <td>Department</td>
36. <td>
37. <%#Eval("Department")%>
38. </td>
39. </tr>
40. </table>
41. </div>
42. </ItemTemplate>
43. </asp:Repeater>

When you run this page so output will look like as:
For further info click on the link:

 ASP.Net Repeater Control Using C#

Question 31: What are different methods of session maintenance in


ASP.NET?
Answer: Session is a State Management Technique. A Session can store the value on the Server. It
can support any type of object to be stored along with our own custom objects. A session is one of
the best techniques for State Management because it stores the data as client-based, in other words
the data is stored for every user separately and the data is secured also because it is on the server.

We can set the session on one of the following 2 types of configuration files:

1. Machine Configuration file: Machine Configuration is applied for all application.

2. Application Configuration file: It's applied for only application by application basis.

Session Mode

In ASP.NET there are 4 types of Session Mode.

Off: We can disable the session mode for the entire application using the off mode.
According to performance and durability the difference between InProc,State Server and SQL Server
is:

Session mode Performance Durability


InProc More(1 processor and 1 server) less.
State Server Medium(n processor and 1 server) Medium
SQL Server Less More

For further info click on the link:

 ntroduction To ASP.NET Sessions

Question 32: What is the Difference between session and caching?


Answer: The first main difference between session and caching is: a session is per-user based but
caching is not per-user based, So what does that mean? Session data is stored at the user level but
caching data is stored at the application level and shared by all the users. It means that it is simply
session data that will be different for the various users for all the various users, session memory will
be allocated differently on the server but for the caching only one memory will be allocated on the
server and if one user modifies the data of the cache for all, the user data will be modified.

For further info click on the link:

 Difference Between Session and Caching

Question 33: What is the difference between


HttpContext.Current.Items and HttpContext.Current.Session in
ASP.NET?
Answer: Session state is one of the popular state management techniques in ASP.NET
environment. We developer people play with session storage every now and then. It’s pretty simple
to manage session if you understand the basic concept. Here is the syntax to do that.

1. Session[“KEY”] =”Value”;

Or

1. Session[index] = ”Value”;
2. Let’ s a have an example: using System;
3. using System.Collections.Generic;
4. using System.Linq;
5. using System.Web;
6. using System.Web.UI;
7. using System.Web.UI.WebControls;
8. namespace WebApp
9. {
10. public partial class WebForm1: System.Web.UI.Page
11. {
12. protected void Page_Load(object sender, EventArgs e)
13. {
14. if(!IsPostBack)
15. {
16. HttpContext.Current.Items["Value"] = "Sourav Kayal in ITEM";
17. HttpContext.Current.Session["Value"] = "Sourav Kayal in SESSION";
18. Response.Write((string)(HttpContext.Current.Items["Value"]) + "<br>");

19. Response.Write((string)(HttpContext.Current.Session["Value"]));
20. }
21. }
22. protected void Button1_Click(object sender, EventArgs e)
23. {
24. Response.Write((string)(HttpContext.Current.Items["Value"]) + "<br>");
25. Response.Write((string)(HttpContext.Current.Session["Value"]));
26. }
27. }
28. }

For further info click on the link:

 Difference Between HttpContext.Current.Items and HttpContext.Current.Session in ASP.Net

Question 34: What is the difference between Server.Transfer and


Response.redirect?
Answer: Both Response.Redirect and Server.Transfer methods are used to transfer a user from
one web page to another web page. Both methods are used for the same purpose but still there are
some differences as follows.

The Response.Redirect method redirects a request to a new URL and specifies the new URL while
the Server.Transfer method for the current request, terminates execution of the current page and
starts execution of a new page using the specified URL path of the page.

Both Response.Redirect and Server.Transfer has same syntax like:

1. Response.Redirect("UserDetail.aspx");
2. Server.Transfer("UserDetail.aspx");

Before touching on more points I want to explain some HTTP status codes, these are important for
the understanding of the basic differences between these two. The HTTP status codes are the
codes that the Web server uses to communicate with the Web browser or user agent.

For further info click on the link:

 Difference Between Response.Redirect() and Server.Transfer() Methods in ASP.Net

Question 35: What is page directives in ASP.NET?


Answer: Basically Page Directives are commands. These commands are used by the compiler
when the page is compiled.

How to use the directives in an ASP.NET page

It is not difficult to add a directive to an ASP.NET page. It is simple to add directives to an ASP.NET
page. You can write directives in the following format:

<%@[Directive][Attributes]%>

See the directive format, it starts with "<%@" and ends with "%>". The best way is to put the
directive at the top of your page. But you can put a directive anywhere in a page. One more thing,
you can put more than one attribute in a single directive.

Here is the full list of directives:


 @Page
 @Master
 @Control
 @Import
 @Implements
 @Register
 @Assembly
 @MasterType
 @Output Cache
 @PreviousPageType
 @Reference

For further info click on the link:

 ASP.Net Page Directives

Question 36: What is HTTP Handler?


Answer: Every request into an ASP.NET application is handled by a specialized component known
as an HTTP handler. The HTTP handler is the most important ingredient while handling ASP.NET
requests.

Examples: ASP.NET uses different HTTP handlers to serve different file types. For example, the
handler for web Page creates the page and control objects, runs your code, and renders the final
HTML.

ASP.NET default handlers:

1. Page Handler (.aspx) - Handles Web pages.


2. User Control Handler (.ascx) - Handles Web user control pages.
3. Web Service Handler (.asmx) - Handles Web service pages.
4. Trace Handler (trace.axd) - Handles trace functionality.

Why we need to create our own HTTP Handler: Sometime we need to avoid ASP.NET full page
processing model, which saves lot of overheads, as ASP.NET web form model has to go through
many steps such as creating web page objects, persisting view state etc. What we are interested
into is to develop some low level interface that provides access to objects like Request and
Response but doesn't use the full control based web form model discussed above.

Examples:

1. Dynamic image creator - Use the System.Drawing classes to draw and size your own
images.
2. RSS - Create a handler that responds with RSS-formatted XML. This would allow you to add
RSS feed capabilities to your sites.
3. Render a custom image,
4. Perform an ad hoc database query,
5. Return some binary data.

All HTTP handlers are defined in the <httpHandlers> section of a configuration file which is nested in
the <system.web> element.
1. <httpHandlers>
2. <add verb="*" path="trace.axd" validate="true" type="System.Web.Handlers.TraceHandl
er" />
3. <add verb="*" path="*.config" validate="true" type="System.Web.HttpForbiddenHandler
" />
4. <add verb="*" path="*.cs" validate="true" type="System.Web.HttpForbiddenHandler" />

5. <add verb="*" path="*.aspx" validate="true" type="System.Web.UI.PageHandlerFactory"


/> </httpHandlers>

For further info click on the link:

 Create your first HTTP Handler in ASP.NET 3.5

Question 37: What are Differences between ASP.NET HttpHandler and


HttpModule?
Answer: The user requests for a resource on web server. The web server examines the file name
extension of the requested file, and determines which ISAPI extension should handle the request.
Then the request is passed to the appropriate ISAPI extension. For example when an .aspx page is
requested it is passed to ASP.NET page handler. Then Application domain is created and after that
different ASP.NET objects like Httpcontext, HttpRequest, HttpResponse are created. Then instance
of HttpApplication is created and also instance of any configured modules. One can register different
events of HttpApplication class like BeginRequest, AuthenticateRequest, AuthorizeRequest,
ProcessRequest etc.

HTTP Handler

HTTP Handler is the process which runs in response to a HTTP request. So whenever user requests
a file it is processed by the handler based on the extension. So, custom http handlers are created
when you need to special handling based on the file name extension. Let's consider an example to
create RSS for a site. So, create a handler that generates RSS-formatted XML. Now bind the .rss
extension to the custom handler.

HTTP Modules

HTTP Modules are plugged into the life cycle of a request. So when a request is processed it is
passed through all the modules in the pipeline of the request. So generally http modules are used
for:

 Security: For authenticating a request before the request is handled.


 Statistics and Logging: Since modules are called for every request they can be used for
gathering statistics and for logging information.
 Custom header: Since response can be modified, one can add custom header information
to the response.

For further info click on the link:

 Difference between ASP.NET HttpHandler and HttpModule

Question 38: Explain the AdRotator Control?


Answer: AdRotator control are used to create a dynamic ads. The AdRotator Control presents ad
images each time a user enters or refreshes a webpage. When the ads are clicked, it will navigate to
a new Web location. The AdRotator control is used to display a sequence of ad images.The
AdRotator control to work we need an Advertisement file (XML file) and some sample images.

Adding the AdRotator web server control to your web application. first, select the AdRotator and drag
and drop the control to your web form. Map the XML file which contains the details about each and
every ad.

The advertisement file is an XML file. The following are some of the elements of this XML file.

1. <imageUrl>: Optional. The path to the image file.


2. <NavigateUrl>: Optional. The URL to link to if the user clicks the ad.
3. <AlternateText>: Optional. An alternate text for the image.
4. <Impressions>: Optional. The display rates in percent of the hits.

XML code that has the details about the ads. The file Ads.xml looks like the code below:

1. <Advertisements>
2. <Ad>
3. <ImageUrl>adimages/2.jpg</ImageUrl>
4. <NavigateUrl>http://cat2.com</NavigateUrl>
5. <AlternateText>Cat 2</AlternateText>
6. <Impressions>30</Impressions>
7. </Ad>
8. <Ad>
9. <ImageUrl>adimages/3.jpg</ImageUrl>
10. <NavigateUrl>http://cat3.com</NavigateUrl>
11. <AlternateText>Cat 3</AlternateText>
12. <Impressions>20</Impressions>
13. </Ad>
14. <Ad>
15. <ImageUrl>adimages/4.jpg</ImageUrl>
16. <NavigateUrl>http://cat4.com</NavigateUrl>
17. <AlternateText>Cat 4</AlternateText>
18. <Impressions>10</Impressions>
19. </Ad>
20. </Advertisements>

For further info click on the link:

 AdRotator control in ASP.NET

Question 39: What is cross-page posting in ASP.NET?


Answer: ASP.NET 1.1 provides for web forms posting back only to themselves. In many situations,
the solution requires posting to a different web page. The traditional workaround alternatives were to
use Response.Redirect and/or Server.Transfer to move to a different page and simulate cross page
post-back behavior.

ASP.NET 2.0 provides a feature known as Cross Page PostBack for a web form to post-back to a
different web form (other than itself)

How to post to a different page


To set a web form to post back to a different web form, in the source web form, set the
PostBackURL property of a control that implements IButtonControl (eg. Button, ImageButton,
LinkButton) to the target web form. When the user clicks on this button control, the web form is
cross-posted to the target web form. No other settings or code is required in the source web form.

Access source page info within the posted page: FindControl Method

The target web form resulting from the cross-page postback provides a non-null PreviousPage
property. This property represents the source page and provides reference to the source web form
and its controls.

The controls on the source page can be accessed via the FindControl method on the object returned
by the PreviousPage property of the target page.

1. protected void Page_Load(object sender, EventArgs e)


2. {
3. ...
4. TextBox txtStartDate = (TextBox) PreviousPage.FindControl("txtStartDate ");
5. ...
6. }

At this point the target page does not have any knowledge of the source page. The PreviousPage
property is of the type Page. For accessing controls using FindControl, the developer has to
presume a certain structure in the source web form. This approach using FindControl has a few
limitations. FindControl is dependent on the developer to provide the ids of the controls to access.
The code will stop working if the control id is changed in the source web form. The FindControl
method can retrieve controls only within the current container. If you need to access a control within
another control, you need to first get a reference to the parent control.

Access source page info within the posted page: @PreviousPageType Directive

There is another more direct option to get access to the source page controls if the source page is
pre-determined. The @PreviousPageType directive can be used in the target page to strongly type
the source page. The directive specifies the source page using either the VirtualPath attribute or the
TypeName attribute. The PreviousPage property then returns a strongly typed reference to the
source page. It allows access to the public properties of the source page.

SourcePage.aspx:

1. <form runat="server"> ...


2. <asp:textbox runat="server" id="txtFirstName" />
3. <asp:textbox runat="server" id="txtLastName" />
4. <asp:button runat="server" id="btnViewReport" Text="View Report" PostbackURL="~/tar
getpage.aspx" /> ... public string FirstName { get { return txtFirstName.Text; } } ...

TargetPage.aspx

1. <%@ PreviousPageType VirtualPath="sourcepage.aspx" %>


2. string strFirstName;
3. strFirstName = PreviousPage.FirstName //Strongly Typed PreviousPage allows direct acces
s to the public properties of the source page
For further info click on the link:

 Cross Page Postback in ASP.Net 2.0

Question 40: Explain GridView control in ASP.NET?


Answer: The GridView control displays the values of a data source in a table. Each column
represents a field, while each row represents a record. The GridView control supports the following
features:

 Binding to data source controls, such as SqlDataSource.


 Built-in sort capabilities.
 Built-in update and delete capabilities.
 Built-in paging capabilities.
 Built-in row selection capabilities.
 Programmatic access to the GridView object model to dynamically set properties, handle
events, and so on.
 Multiple key fields.
 Multiple data fields for the hyperlink columns.
 Customizable appearance through themes and styles.

Creating a GridView

1. <asp:GridView ID="gridService" runat="server">


2. </asp:GridView>

For further info click on the link:

 GridView Control in ASP.Net

Question 41: What is the difference between ASP.NET Web API and
WCF?
Answer: The ASP. NET Web API is a framework that uses the HTTP services and makes it easy to
provide the response to the client request. The response depends on the request of the clients. The
Web API builds the HTTP services, and handles the request using the HTTP protocols. The request
may be GET, POST, DELETE, PUT. We can also say that the ASP. NET Web API:

 Is an HTTP service.
 Is designed for reaching the broad range of clients.
 Uses the HTTP application.

We use the ASP. NET Web API for creating the REST ful (Representational State Transfer)
services.

The following are some important points of the ASP. NET Web API:
 The ASP. NET Web API supports the MVC application features that are controller, media
formatters, routing etcetera.
 It is a platform for creating the REST services.
 It is a framework for creating the HTTP services.
 Responses can be formatted by the APIs MediaTypeFormatter into the Java Script Object
Notation (JSON) and Extencible Markup Language (XML) formats.

For further info click on the link:

 http://www.c-sharpcorner.com/UploadFile/2b481f/difference-between-Asp-Net-web-api-and-
wc

Question 42: What is the PostBack property in ASP.NET?


Answer: If we create a web Page, which consists of one or more Web Controls that are configured to
use AutoPostBack (Every Web controls will have their own AutoPostBack property), the ASP.NET
adds a special JavaScipt function to the rendered HTML Page. This function is named
_doPostBack() . When Called, it triggers a PostBack, sending data back to the web Server.

ASP.NET also adds two additional hidden input fields that are used to pass information back to the
server. This information consists of ID of the Control that raised the event and any additional
information if needed. These fields will empty initially as shown below,

1. <input type="hidden" name="__EVENTTARGET" id="__EVENTTARGET" value="" />


2. <input type="hidden" name="__EVENTARGUMENT" id="__EVENTARGUMENT" value="" />

The following actions will be taken place when a user changes a control that has the AutoPostBack
property set to true:

1. On the client side, the JavaScript _doPostBack function is invoked, and the page is
resubmitted to the server.
2. ASP.NET re-creates the Page object using the .aspx file.
3. ASP.NET retrieves state information from the hidden view state field and updates the
controls accordingly.
4. The Page.Load event is fired.
5. The appropriate change event is fired for the control. (If more than one control has been
changed, the order of change events is undetermined.)
6. The Page.PreRender event fires, and the page is rendered (transformed from a set of
objects to an HTML page).
7. Finally, the Page.Unload event is fired.
8. The new page is sent to the client.

For further info click on the link:

 What is PostBack in ASP.NET

Question 43: Explain Cookie-less Session in ASP.NET.


Answer: By default a session uses a cookie in the background. To enable a cookie-less session, we
need to change some configuration in the Web.Config file. Follow these steps:

1. Open Web.Config file.


2. Add a <sessionState> tag under <system.web> tag.
3. Add an attribute "cookieless" in the <sessionState> tag and set its value to "AutoDetect" like
below:
1. <sessionState cookieless="AutoDetect" regenerateExpiredSessionId="true"/>

The possible values for "cookieless" attribute are:

 AutoDetect: Session uses background cookie if cookies are enabled. If cookies are
disabled, then the URL is used to store session information.

 UseCookie: Session always use background cookie. This is default.

 UseDeviceProfile: Session uses background cookie if browser supports cookies else URL
is used.

 UseUri: Session always use URL.

"regenerateExpiredSessionId" is used to ensure that if a cookieless url is expired a new new url is
created with a new session. And if the same cookieless url is being used by multiple users an the
same time, they all get a new regenerated session url.

For further info click on the link:

 Using Cookie-less Session in ASP.NET

Question 44: What is Themes in ASP.NET?


Answer: A theme decides the look and feel of the website. It is a collection of files that define the
looks of a page. It can include skin files, CSS files & images.

We define themes in a special App_Themes folder. Inside this folder is one or more subfolders
named Theme1, Theme2 etc. that define the actual themes. The theme property is applied late in
the page's life cycle, effectively overriding any customization you may have for individual controls on
your page.

How to apply themes

There are 3 different options to apply themes to our website:

1. Setting the theme at the page level: the Theme attribute is added to the page directive of the
page.
1. <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs"Inherits
="Default" Theme="Theme1"%>
2. Setting the theme at the site level: to set the theme for the entire website you can set the
theme in the web.config of the website. Open the web.config file and locate the <pages>
element and add the theme attribute to it:

1. <pages theme="Theme1">
2. ....
3. ....
4. </pages>
3. Setting the theme programmatically at runtime: here the theme is set at runtime through
coding. It should be applied earlier in the page's life cycle ie. Page_PreInit event should be
handled for setting the theme. The better option is to apply this to the Base page class of the
site as every page in the site inherits from this class.

1. Page.Theme = Theme1;

Uses of Themes

1. Since themes can contain CSS files, images and skins, you can change colors, fonts,
positioning and images simply by applying the desired themes.

2. You can have as many themes as you want and you can switch between them by setting a
single attribute in the web.config file or an individual aspx page. Also you can switch between
themes programmatically.

3. Setting the themes programmatically, you are offering your users a quick and easy way to
change the page to their likings.

4. Themes allow you to improve the usability of your site by giving users with vision problems
the option to select a high contrast theme with a large font size.

For further info click on the link:

 Themes in ASP.NET

Question 45: What are the Navigations technique in ASP.NET?


Answer: Navigation can cause data loss if it not properly handled. We do have many techniques to
transfer data from one page to another but every technique has its own importance and benefits.

We will discuss the following techniques in this article.

 Response.Redirect
 Server.Transfer
 Server.Exceute
 Cross page posting

For further info click on the link:

 Navigation Techniques in ASP.Net

Question 46: What is WebParts in ASP.NET?


Answer: ASP.NET 2.0 incorporates the concept of WEB PARTS in itself and we can code and
explore that as easily as we have done with the other controls in the previous sessions.

We can compose web parts pages from "web parts", which can be web controls, user controls.
Component of Web Parts:

The web parts consist of different components like:

 Web Part Manager


 Web Part Zone
 CatLog Part
 CatLog Zone
 Connections Zone
 Editor Part
 Editor Zone

Web Part Zone

 Web Part Zone can contain one or more Web Part controls.
 This provides the layout for the Controls it contains. A single ASPX page can contain one or
more Web Part Zones.
 A Web Part Control can be any of the controls in the toolbox or even the customized user
controls.

For further info click on the link:

 Understanding WEBPARTS in ASP.NET 2.0: Part I

Question 47: What are master pages?


Answer: Some points about Master Pages:

1. The extension of MasterPage is '.master'.

2. MasterPage cannot be directly accessed from the client because it just acts as a template for
the other Content Pages.

3. In a MasterPage we can have content either inside ContentPlaceHolder or outside it. Only
content inside the ContentPlaceHolder can be customized in the Content Page.

4. We can have multiple masters in one web application.

5. A MasterPage can have another MasterPage as Master to it.

6. The content page content can be placed only inside the content tag.

7. Controls of MasterPage can be programmed in the MasterPage and content page but a
content page control will never be programmed in MasterPage.

8. A master page of one web application cannot be used in another web application.

9. The MasterPageFile property of a webform can be set dynamically and it should be done
either in or before the Page_PreInit event of the WebForm. Page.MasterPageFile =
"MasterPage.master". The dynamically set Master Page must have the
ContentPlaceHolder whose content has been customized in the WebForm.

10. The order in which events are raised: Load (Page) a Load (Master) a LoadComplete (Page)
i.e. if we want to overwrite something already done in Load event handler of Master then it
should be coded in the LoadComplete event of the page.

11. Page_Load is the name of method for event handler for Load event of Master. (it's
not Master_Load).

For further info click on the link:

 Master Page in ASP.NET

Question 48: What is Data Cache in ASP.NET and how to use?


Answer: Data Cache is used to store frequently used data in the Cache memory. It's much efficient
to retrieve data from the data cache instead of database or other sources. We need to use
System.Web.Caching namespace. The scope of the data caching is within the application domain
unlike "session". Every user is able to access this object.

When client request to the server, server execute the stored procedure or function or select
statements on the Sql Server database then it returns the response to the browser. If we run again
same process will happen on the web server with sql server.

How to create data cache?

Cache ["Employee"] = "DataSet Name"

We can create data caching use Cache Keyword. It's located in the System.Web.Caching
namespace. It's just like assigning value to the variable.

How to remove a Data Cache?

We can remove Data Cache manually.

1. //We need to specify the cache name


2. Cache.Remove(String key);

For further info click on the link:

 Data Cache in ASP.NET

Question 49: Enterprise Library in ASP.NET?


Answer: Enterprise Library: It is a collection of application blocks and core infrastructure. Enterprise
library is the reusable software component designed for assisting the software developers.

We use the Enterprise Library when we want to build application blocks intended for the use of
developers who create complex enterprise level application.

Enterprise Library Application Blocks


1. Security Application Block

Security Application Block provide developers to incorporate security functionality in the


application. This application can use various blocks such as authenticating and authorizing
users against the database.

2. Exception Handling Application Block

This block provides the developers to create consistency for processing the error that occur
throughout the layers of Enterprise Application.

3. Cryptography Application Block

Cryptography application blocks provides developers to add encryption and hashing


functionality in the applications.

4. Caching Application Block

Caching Application Block allows developers to incorporate local cache in the applications.

For further info click on the link:

 Enterprise Library In ASP.NET

Question 50: How can we improve the Performance of an ASP.NET


Web Page?
Answer: This is the most common question from ASP.NET forum to any interview. In this post I’m
going to point out some of the important points that may help to improve the performance.

Here I used the word “improve performance” in the sense to decrease the loading time of the page.
There are various reasons behind. Some of them we look into from the “backend side” (Database
side) and rest of them we need to take care in “front-end” ((UI) side.

For illustrative purpose, you have an ASP.NET Web site, one of the aspx page take much time to
load. Throughout this article, we are going to see how to decrease the loading time.

Back End (DB)

1. Try to check the Query performance that is how much time the query will take to execute and
pull the records from DB. Then use SQL Server Profiler and Execution plan for that query so
that you can come to a conclusion in which part it took much time.

2. Check in every table (who are all part of the query) Index is created properly.

3. If your query involves a complex stored procedure, which in turn use lot of joins, then you
should focus on every table. In some cases, sub-query perform better than the joins.

4. If your web page involves paging concepts, try to move the paging concepts to SQL Server. I
meant that based on the page count the SP will return the records, instead of bringing the
records as a whole.
5. SP.NET Interview Questions and Answers – Experienced
Developers
6. What is XHTML? Are ASP.NET Pages compliant with XHTML?
7. In simple words, XHTML is a stricter and cleaner version of HTML. XHTML stands for
EXtensible Hypertext Markup Language and is a W3C Recommendation.
8. Yes, ASP.NET 2.0 Pages are XHTML compliant. However the freedom has been given to the
user to include the appropriate document type declaration.
9. More info can be found at http://msdn2.microsoft.com/en-us/library/exc57y7e.aspx
10. Can I deploy the application without deploying the source code on the server?
11. Yes. You can obfuscate your code by using a new precompilation process called
‘precompilation for deployment’. You can use the aspnet_compiler.exe to precompile a site.
This process builds each page in your web application into a single application DLL and some
placeholder files. These files can then be deployed to the server.
12. You can also accomplish the same task using Visual Studio 2005 by using the Build->Publish
menu.
13. Does ViewState affect performance? What is the ideal size of a ViewState? How can you
compress a viewstate?
14. Viewstate stores the state of controls in HTML hidden fields. At times, this information can
grow in size. This does affect the overall responsiveness of the page, thereby affecting
performance. The ideal size of a viewstate should be not more than 25-30% of the page size.
15. Viewstate can be compressed to almost 50% of its size. .NET also provides
the GZipStreamorDeflateStream to compress viewstate. Another option is explained by Scott
Hanselmann over here.
16. How can you detect if a viewstate has been tampered?
17. By setting the EnableViewStateMac to true in the @Page directive. This attribute checks the
encoded and encrypted viewstate for tampering.
18. You can also view ViewState information as described in this article How to view information
in ViewState using ASP.NET 2.0 and 3.5
19. Can I use different programming languages in the same application?
20. Yes. Each page can be written with a different programming language in the same application.
You can create a few pages in C# and a few in VB.NET.
21. Can the App_Code folder contain source code files in different programming
languages?
22. No. All source code files kept in the root App_Code folder must be in the same programming
language.
23. Update: However, you can create two subfolders inside the App_Code and then add both C#
and VB.NET in the respective subfolders. You also have to add configuration settings in the
web.config for this to work.
24. How do you secure your connection string information?
25. By using the Protected Configuration feature.
26. How do you secure your configuration files to be accessed remotely by unauthorized
users?
27. ASP.NET configures IIS to deny access to any user that requests access to the Machine.config
or Web.config files.
28. How can I configure ASP.NET applications that are running on a remote machine?
29. You can use the Web Site Administration Tool to configure remote websites.
30. How many web.config files can I have in an application?
31. You can keep multiple web.config files in an application. You can place a Web.config file inside
a folder or wherever you need (apart from some exceptions) to override the configuration
settings that are inherited from a configuration file located at a higher level in the hierarchy.
32. I have created a configuration setting in my web.config and have kept it at the root level.
How do I prevent it from being overridden by another web.config that appears lower in
the hierarchy?
33. By setting the element's Override attribute to false.
34. What is the difference between Response.Write and Response.Output.Write?
35. As quoted by Scott Hanselman, the short answer is that the latter gives you String.Format-
style output and the former doesn't.
36. To get a detailed explanation, follow this link
37. What is Cross Page Posting? How is it done?
38. By default, ASP.NET submits a form to the same page. In cross-page posting, the form is
submitted to a different page. This is done by setting the ‘PostBackUrl’ property of the
button(that causes postback) to the desired page. In the code-behind of the page to which the
form has been posted, use the ‘FindControl’method of the ‘PreviousPage’ property to
reference the data of the control in the first page.
39. Can you change a Master Page dynamically at runtime? How?
40. Yes. To change a master page, set the MasterPageFile property to point to the .master page
during the PreInit page event.
41. How do you apply Themes to an entire application?
42. By specifying the theme in the web.config file.
<configuration>

<system.web>

<pages theme=”BlueMoon” />

</system.web>

</configuration>
43. How do you exclude an ASP.NET page from using Themes?
44. To remove themes from your page, use the EnableTheming attribute of the Page directive.
45. Your client complains that he has a large form that collects user input. He wants to
break the form into sections, keeping the information in the forms related. Which
control will you use?
46. The ASP.NET Wizard Control.
47. To learn more about this control, visit this link.
48. Do webservices support data reader?
49. No. However it does support a dataset.
50. What is use of the AutoEventWireup attribute in the Page directive ?
51. The AutoEventWireUp is a boolean attribute that allows automatic wireup of page events when
this attribute is set to true on the page. It is set to True by default for a C# web form whereas
it is set as False for VB.NET forms. Pages developed with Visual Studio .NET have this
attribute set to false, and page events are individually tied to handlers.
52. What happens when you change the web.config file at run time?
53. ASP.NET invalidates the existing cache and assembles a new cache. Then ASP.NET
automatically restarts the application to apply the changes.
54. Can you programmatically access IIS configuration settings?
55. Yes. You can use ADSI, WMI, or COM interfaces to configure IIS programmatically.
56. How does Application Pools work in IIS 6.0?
57. As explained under the IIS documentation, when you run IIS 6.0 in worker process isolation
mode, you can separate different Web applications and Web sites into groups known
as application pools. An application pool is a group of one or more URLs that are served by a
worker process or set of worker processes. Any Web directory or virtual directory can be
assigned to an application pool.
58. Every application within an application pool shares the same worker process. Because each
worker process operates as a separate instance of the worker process executable, W3wp.exe,
the worker process that services one application pool is separated from the worker process
that services another. Each separate worker process provides a process boundary so that
when an application is assigned to one application pool, problems in other application pools
do not affect the application. This ensures that if a worker process fails, it does not affect the
applications running in other application pools.
59. Use multiple application pools when you want to help ensure that applications and Web sites
are confidential and secure. For example, an enterprise organization might place its human
resources Web site and its finance Web site on the same server, but in different application
pools. Likewise, an ISP that hosts Web sites and applications for competing companies might
run each company’s Web services on the same server, but in different application pools. Using
different application pools to isolate applications helps prevent one customer from accessing,
changing, or using confidential information from another customers site.
60. In HTTP.sys, an application pool is represented by a request queue, from which the user-mode
worker processes that service an application pool collect the requests. Each pool can manage
requests for one or more unique Web applications, which you assign to the application pool
based on their URLs. Application pools, then, are essentially worker process configurations
that service groups of namespaces.
61. Multiple application pools can operate at the same time. An application, as defined by its URL,
can only be served by one application pool at any time. While one application pool is servicing
a request, you cannot route the request to another application pool. However, you can assign
applications to another application pool while the server is running.
62. Note: This ASP.NET Questions and Answers for Experienced Developers have been taken
from forums, my colleagues and my own experience of conducting interviews. I have tried to
mention the contributor wherever possible. If you would like to contribute, kindly use
the Contact form. If you think that a credit for a contribution is missing somewhere, kindly use
the same contact form and I will do the needful.

ASP.NET is a web application development framework for building web sites and web applications
that follows object oriented programming approach".

Following are the top 10 commonly asked Interview Questions with Answers on ASP.NET:

What is the concept of Postback in ASP.NET?

A postback is a request sent from a client to server from the same page user is already working with.
ASP.NET was introduced with a mechanism to post an HTTP POST request back to the same page.
It’s basically posting a complete page back to server (i.e. sending all of its data) on the same page.
So, the whole page is refreshed.

In the below diagram, when first request is made from client to server for a web page (say a simple
registration form), IsPostback property value will be false. It will be a GET request that may be
initiated by:

 typing a web page URL in a browser window or


 using JavaScript window.open method
 or, clicking a hyperlink on a webpage page.

After user filled the returned form and presses a button (say submit button, or use JavaScript to
submit form), an HTTP Post request is made to server on same page with data as shown in point 3.
This time IsPostbackproperty value will be true. Server processes the request and returns a
response back to client.

Another concept related to this approach is "Callback" that is also asked sometimes during a
technical interview question. Click here to understand Postback Vs Callback in ASP.NET.

Difference between ASP.NET WebForms and ASP.NET MVC?

ASP.NET Web Forms uses Page controller pattern approach for rendering layout. In this approach,
every page has it's own controller, i.e., code-behind file that processes the request. On the other
hand, ASP.NET MVC uses Front Controller approach. In this approach, a common controller for all
pages, processes the requests.
Please follow for detailed information on WebForms Vs MVC.

Please briefly explain ASP.NET Page life Cycle?

ASP.NET page passes through a series of steps during its life cycle. Following is the high-level
explanation of life cycle stages/steps.

Initialization: Controls raise their Init event in this stage. Objects and variables are initializes for
complete lifecyle of request.

LoadViewState: is a post back stage and loads the view state for the controls that enabled its view
state property.
LoadPostBackData: is also a post back stage and loads the data posted for the controls and
updates them.

Load: In this stage, page as well as all the controls raise their Load event. Till this stage, all the
controls are initialized and loaded. In most of the cases, we are coding this event handler.

RaisePostBackEvent: is again a postback stage. For example, it's raise against a button click event.
We can easily put our code here to perform certain actions.

SaveViewState: Finally, controls state is saved in this stage before Rendering HTML.

Render: This is the stage where HTML is generated for the page.

Dispose: Lastly, all objects associated with the request are cleaned up.

For very detailed explanation, Page Life Cycle is explained here.

In order to get other ASP.NET related details as per Microsoft Certification Exams, you can follow
here.
What is the difference between custom controls and user controls?

Custom controls are basically compiled code, i.e., DLLs. These can be easily added to toolbox, so it
can be easily used across multiple projects using drag and drop approach. These controls are
comparatively hard to create.

But User Controls (.ascx) are just like pages (.aspx). These are comparatively easy to create but tightly
coupled with respect to User Interface and code. In order to use across multiple projects, we need to
copy and paste to the other project as well.

What is the concept of view state in ASP.NET?

As in the earlier question, we understood the concept of postback. So, in order to maintain the state
between postbacks, ASP.NET provides a mechanism called view state. Hidden form fields are used to
store the state of objects on client side and returned back to server in subsequent request (as
postback occurs).

If we see the view source for an ASP.NET web page, we will find that hidden form field with Id =
“__VIEWSTATE” something like the following:

Difference between Response.Redirect and Server.Transfer?

In case of Response.Redirect, a new request is generated from client-side for redirected page. It's
a kind of additional round trip. As new request is generated from client, so the new URL is visible to
user in browser after redirection.

While in case of Server.Transfer, a request is transferred from one page to another without
making a round trip from client. For the end user, URL remains the same in browser even after
transferring to another page.
Please Briefly Explain the Usage of Global.asax?

Global.asax is basically an ASP.NET Application file. It’s a place to write code for Application-level
events such as Application start, Application end, Session start and end, Application error, etc. raised
by ASP.NET or by HTTP Modules.

There is a good list of events that are fired but following are few of the important events
in Global.asax:

 Application_Init occurs in case of application initialization for the very first time.
 Application_Start fires on application start.
 Session_Start fires when a new user session starts.
 Application_Error occurs in case of an unhandled exception generated from application.
 Session_End fires when user session ends.
 Application_End fires when application ends or time out.

What are the different types of Validation controls in ASP.NET?

In order to validate user input, ASP.NET provides validation server controls. All validation controls
inherit from BaseValidator class which contains the common validation properties and methods
like ControlToValidate, Enabled, IsValid, EnableClientScript, ValidationGroup,Valida
te(), etc.

ASP.NET provides a range of validation controls:


 RequiredFieldValidator validates compulsory/required input.
 RangeValidator validates the range. Validates that input falls between the given range values.
 CompareValidator validates or compares the input of a control with another control value or with a
fixed value.
 RegularExpressionValidator validates input value against a defined regular expression pattern.
 CustomValidator allows to customize the validation logic with respect to our application logic.
 ValidationSummary displays all errors on page collectively.

What are the types of Authentication in ASP.NET?

There are three types of authentication available in ASP.NET:

 Windows Authentication: This authentication method uses built-in windows security features to
authenticate user.
 Forms Authentication: authenticate against a customized list of users or users in a database.
 Passport Authentication: validates against Microsoft Passport service which is basically a centralized
authentication service.
What are Session state modes in ASP.NET?

ASP.NET supports different session state storage options:

 In-Process is the default approach. It stores session state locally on same web server memory where
the application is running.
 StateServer mode stores session state in a process other than the one where application is running.
Naturally, it has added advantages that session state is accessible from multiple web servers in a
Web Farm and also session state will remain preserved even web application is restarted.
 SQLServer mode stores session state in SQL Server database. It has the same advantages as that of
StateServer.
 Custom modes allows to define our custom storage provider.
 Off mode disables session storage.

Describe state management in ASP.NET.

State management is a technique to manage a state of an object on different request.

The HTTP protocol is the fundamental protocol of the World Wide Web. HTTP is a stateless
protocol means every request is from new user with respect to web server. HTTP protocol
does not provide you with any method of determining whether any two requests are made by
the same person.

Maintaining state is important in any web application. There are two types of state
management system in ASP.NET.

- Client-side state management


- Server-side state management

Explain client side state management system.

ASP.NET provides several techniques for storing state information on the client. These
include the following:

view state: ASP.NET uses view state to track values in controls between page requests. It
works within the page only. You cannot use view state value in next page.

control state: You can persist information about a control that is not part of the view state. If
view state is disabled for a control or the page, the control state will still work.

hidden fields: It stores data without displaying that control and data to the user’s browser.
This data is presented back to the server and is available when the form is processed. Hidden
fields data is available within the page only (page-scoped data).

Cookies: Cookies are small piece of information that server creates on the browser. Cookies
store a value in the user’s browser that the browser sends with every page request to the web
server.

Query strings: In query strings, values are stored at the end of the URL. These values are
visible to the user through his or her browser’s address bar. Query strings are not secure. You
should not send secret information through the query string.

Explain server side state management system.


The following objects are used to store the information on the server:

Application State:
This object stores the data that is accessible to all pages in a given Web application. The
Application object contains global variables for your ASP.NET application.

Cache Object:
Caching is the process of storing data that is used frequently by the user. Caching increases
your application’s performance, scalability, and availability. You can catch the data on the
server or client.

Session State:
Session object stores user-specific data between individual requests. This object is same as
application object but it stores the data about particular user.

Explain cookies with example.

A cookie is a small amount of data that server creates on the client. When a web server
creates a cookie, an additional HTTP header is sent to the browser when a page is served to
the browser. The HTTP header looks like this:

Set-Cookie: message=Hello. After a cookie has been created on a browser, whenever the
browser requests a page from the same application in the future, the browser sends a header
that looks like this:

Cookie: message=Hello

Cookie is little bit of text information. You can store only string values when using a cookie.
There are two types of cookies:

Session cookies
Persistent cookies.

A session cookie exists only in memory. If a user closes the web browser, the session cookie
delete permanently.

A persistent cookie, on the other hand, can available for months or even years. When you
create a persistent cookie, the cookie is stored permanently by the user’s browser on the
user’s computer.

Creating cookie:
protected void btnAdd_Click(object sender, EventArgs e)
{
Response.Cookies[“message”].Value = txtMsgCookie.Text;
}
// Here txtMsgCookie is the ID of TextBox.

Cookie names are case sensitive. Cookie named message is different from setting a cookie
named Message.

The above example creates a session cookie. The cookie disappears when you close your
web browser. If you want to create a persistent cookie, then you need to specify an expiration
date for the cookie.
Response.Cookies[“message”].Expires = DateTime.Now.AddYears(1);

Reading Cookies
void Page_Load()
{
if (Request.Cookies[“message”] != null)
lblCookieValue.Text = Request.Cookies[“message”].Value;
}
// Here lblCookieValue is the ID of Label Control.

Describe the disadvantage of cookies.

- Cookie can store only string value.


- Cookies are browser dependent.
- Cookies are not secure.
- Cookies can store small amount of data.
What is Session object? Describe in detail.

HTTP is a stateless protocol; it can't hold the user information on web page. If the user inserts
some information, and move to the next page, that data will be lost and user would not be
able to retrieve the information. For accessing that information we have to store information.
Session provides that facility to store information on server memory. It can support any type
of object to store. For every user, Session data stores separately which means session is
user specific.

Storing the data in Session object.


Session [“message”] = “Hello World!”;

Retrieving the data from Session object.


Label1.Text = Session[“message”].ToString();

What are the Advantages and Disadvantages of Session?

Following are the basic advantages and disadvantages of using session.

Advantages:

- It stores user state and data that are accessible all over the application.
- It is an easy mechanism to implement and it can store any kind of object.

-It stores every user data separately.

- Session is secured and transparent from user because session object is stored on the
server.

Disadvantages:

- Performance overhead in case of large number of user, because session data is stored in
server memory.

- Overhead involved in serializing and de-serializing session data. Because in case of


StateServer and SQLServer session mode we need to serialize the object before store.

Describe the Master Page.

Master pages in ASP.NET works as a template that you can reference this page in all other
content pages. Master pages enable you to define the look and feel of all the pages in your
site in a single location. If you have done changes in master page, then the changes will
reflect in all the web pages that reference master pages. When users request the content
pages, they merge with the master page to produce output that combines the layout of the
master page with the content from the content page.
ContentPlaceHolder control is available only on master page. You can use more than one
ContentPlaceHolder control in master page. To create regions that content pages can fill in,
you need to define ContentPlaceHolder controls in master page as follows:
<asp:ContentPlaceHolder ID=”ContentPlaceHolder1” runat=”server”>
</asp:ContentPlaceHolder>

The page-specific content is then put inside a Content control that points to the relevant
ContentPlaceHolder:
<asp:Content ID=”Content1” ContentPlaceHolderID=”ContentPlaceHolder1” Runat=”Server”>
</asp:Content>

Note that the ContentPlaceHolderID attribute of the Content control points to the
ContentPlaceHolder that is defined in the master page.

The master page is identified by a special @ Master directive that replaces the @ Page
directive that is used for ordinary .aspx pages.
<%@ Master Language="C#" AutoEventWireup="true" CodeFile="CareerRide.master.cs"
Inherits="CareerRide" %>
How can you access the Properties and Controls of Master Pages
from content pages?

You can access the Properties and Controls of Master Pages from content pages. In many
situations you need User’s Name in different content pages. You can set this value inside the
master page and then make it available to content pages as a property of the master page.

We will follow the following steps to reference the properties of master page from content
pages.

Step: 1

Create a property in the master page code-behind file.


public String UserName
{
get
{
return (String)Session["Name"];
}
set
{
Session ["Name"] = value;
}
}

Step: 2

Add the @ MasterTypedeclaration to the .aspx content page to reference master properties in
a content page. This declaration is added just below the @ Page declaration as follows:
<%@ Page Title=" TEST" Language="C#" MasterPageFile="~/CareerRide.master"
AutoEventWireup="true" CodeFile="CareerRideWelcome.aspx.cs"
Inherits="CareerRideWelcome" %>

<%@ MasterTypeVirtualPath="~/CareerRide.master" %>


Step: 3

Once you add the @ MasterType declaration, you can reference properties in the master
page using the Master class. For example take a label control that id is ID="Label1"
Label1.Text= Master.UserName ;

For referencing controls in the Master Page we will write the following code.

Content Page Code.


protected void Button1_Click(object sender, EventArgs e)
{
TextBox txtName= (TextBox)Master.FindControl("TextBox1");
Label1.Text=txtName.Text;
}

To reference controls in a master page, call Master.FindControl from the content page.

What are the different method of navigation in ASP.NET?

Page navigation means moving from one page to another page in your web site and another.
There are many ways to navigate from one page to another in ASP.NET.

- Client-side navigation
- Cross-page posting
- Client-side browser redirect
- Client-Side Navigation

Client-side navigation:

Client-side navigation allows the user to navigate from one page to another by using client
side code or HTML. It requests a new Web page in response to a client-side event, such as
clicking a hyperlink or executing JavaScript as part of a button click.

Example:
Drag a HyperLink control on the form and set the NavigateUrl property to the desired
destination page.

HyperLinkControl: Source
<asp:HyperLink ID="HyperLink1" runat="server" NavigateUrl="~/Welcome.aspx"> Take a test
from CareerRide </asp:HyperLink>

Suppose, this control is placed on a Web page called CareerRide.aspx, and the HyperLink
control is clicked, the browser simply requests the Welcome.aspx page.

Second method of client-side navigation is through JavaScript.

Example:

Take an HTML button control on web page. Following is the HTML code for the input button.
<input id="Button1" type="button" value="Go to next page" onclick="return Button1_onclick()" />

When the Button1 is clicked, the client-side method, Button1_onclick will be called. The
JavaScript source for the Button1_onclick method is as follows:
<script language="javascript" type="text/javascript">
function Button1_onclick()
{
document.location="NavigateTest2.aspx";
}

</script>

Cross-page posting:

Example:

Suppose that we have two pages, the first page is FirstPage.aspx and Second page is
SecondPage.aspx. The First Page has a Button and TextBox control and its ID is Button1 and
TextBox1 respectively. A Button control has its PostBackUrl property. Set this property to
“~/SecondPage.aspx”. When the user clicks on Button, the data will send to SecondPage for
processing. The code for SecondPage is as follows:
protected void Page_Load(object sender, EventArgs e)
{
if(Page.PreviousPage == null)
{
Label1.Text = "No previous page in post";
}
else
{
Label1.Text = ((TextBox)PreviousPage._
FindControl("TextBox1")).Text;
}
}

The second page contains a Label control and its ID is Label1.

The page that receives the PostBack receives the posted data from the firstpage for
processing. We can consider this page as the processing page.The processing page often
needs to access data that was contained inside the initial page that collected the data and
delivered the PostBack. The previous page’s data is available inside the Page.PreviousPage
property. This property is only set if a cross-page post occurs.

Client-side browser redirect:

The Page.Response object contains the Redirect method that can be used in your server-side
code to instruct the browser to initiate a request for another Web page. The redirect is not a
PostBack. It is similar to the user clicking a hyperlink on a Web page.

Example:
protected void Button1_Click(object sender, EventArgs e)
{
Response.Redirect ("Welcome.aspx");
}
In client-side browser redirect method an extra round trip to the server is happened.

Server-side transfer:

In this technique Server.Transfer method is used. The Transfer method transfers the entire
context of a Web page over to another page. The page that receives the transfer generates
the response back to the user’s browser. In this mechanism the user’s Internet address in his
browser does not show the result of the transfer. The user’s address bar still reflects the
name of the originally requested page.
protected void Button1_Click(object sender, EventArgs e)
{
Server.Transfer("MyPage.aspx", false);
}

The Transfer method has an overload that accepts a Boolean parameter called preserve-
Form. You set this parameter to indicate if you want to keep the form and query string data.

What does the Orientation property do in a Menu control?

- Orientation property of the Menu control sets the display of menu on a Web page to vertical
or horizontal.
- Originally the orientation is set to vertical.

Differentiate between client-side and server-side validations in web


pages.

- Client-side validations are done at the client's side with the help of JavaScript and VBScript.
This happens before the web page is sent to the server.

- Server-side validations occurs at the server side.

Differentiate between authentication and authorization.


- Authentication is the process of verifying the identity of a user using some credentials like
username and password while authorization determines the parts of the system to which a
particular identity has access.

- Authentication is required before authorization.

Example: If an employee authenticates himself with his credentials on a system,


authorization will determine if he has the control over just publishing the content or also
editing it.

What does the .WebPart file do?

It explains the settings of a Web Parts control that can be included to a specified zone on a
Web page.

How would you enable impersonation in the web.config file?

In order to enable the impersonation in the web.config file, take the following steps:
- Include the <identity> element in the web.config file.
- Set the impersonate attribute to true as shown below:
<identity impersonate = "true" />

Differentiate between file-based dependency and key-based


dependency.

- In file-based dependency, the dependency is on a file saved in a disk while in key-based


dependency, you depend on another cached item.

Differentiate between globalization and localization.

- Globalization is a technique to identify the part of a Web application that is different for
different languages and separate it out from the web application while in localization you try to
configure a Web application so that it can be supported for a specific language or locale.

Differentiate between a page theme and a global theme?


- Page theme applies to a particular web pages of the project. It is stored inside a subfolder of
the App_Themes folder.
- Global theme applies to all the web applications on the web server. It is stored inside the
Themes folder on a Web server.

What are Web server controls in ASP.NET?

- These are the objects on ASP.NET pages that run when the Web page is requested.
- Some of these Web server controls, like button and text box, are similar to the HTML
controls.
- Some controls exhibit complex behavior like the controls used to connect to data sources
and display data.

Differentiate between a HyperLink control and a LinkButton control.

- A HyperLink control does not have the Click and Command events while the LinkButton
control has them, which can be handled in the code-behind file of the Web page.

How do Cookies work? Give an example of their abuse.

- The server directs the browser to put some files in a cookie. All the cookies are then sent for
the domain in each request.
- An example of cookie abuse could be a case where a large cookie is stored affecting the
network traffic.

What are Custom User Controls in ASP.NET?

- These are the controls defined by developers and work similar to other web server controls.
- They are a mixture of custom behavior and predefined behavior.

What is Role-based security?

- Used in almost all organization, the Role-based security assign certain privileges to each
role.
- Each user is assigned a particular role from the list.
- Privileges as per role restrict the user's actions on the system and ensure that a user is able
to do only what he is permitted to do on the system.

What are the HTML server controls in ASP.NET?

- HTML server controls are similar to the standard HTML elements like those used in HTML
pages.
- They expose properties and events for programatical use.
- To make these controls programmatically accessible, we specify that the HTML controls act
as a server control by adding the runat="server" attribute.

What are the various types of Cookies in ASP.NET?

There exist two types of cookies in ASP.NET

1. Session Cookie
It resides on the machine of the client for a single session and works until the user logs out of
the session.

2. Persistent Cookie
It resides on the machine of a user for a specified period. This period can be set up manually
by the user.

How would you turn off cookies on one page of your website?

- This can be done by using the Cookie.Discard property.


- It Gets or sets the discard flag set by the server.
- When set to true, this property instructs the client application not to save the Cookie on the
hard disk of the user at the end of the session.

How would you create a permanent cookie?

- Permanent cookies are stored on the hard disk and are available until a specified expiration
date is reached.
- To create a cookie that never expires set its Expires property equal to DateTime.maxValue.
Explain Culture and UICulture values.

- Culture value determines the functions like Date and Currency used to format data and
numbers in a Web page.
- UICulture value determines the resources like strings or images loaded in a Web application
for a Web page.

What is Global.asax file used for?

It executes application-level events and sets application-level variables.

Explain ASP.NET Web Forms.

- Web Forms are an extremely important part of ASP.NET.


- They are the User Interface (UI) elements which provide the desired look and feel to your
web applications.
- Web Forms provide properties, methods, and events for the controls that are placed onto
them.

What is event bubbling?

- When child control send events to parent it is termed as event bubbling.


- Server controls like Data grid, Data List, and Repeater can have other child controls inside
them.

What are the various types of validation controls provided by


ASP.NET?

ASP.NET provides 6 types of validation controls as listed below:

1. RequiredFieldValidator - It is used when you do not want the container to be empty. It


checks if the control has any value or not.

2. RangeValidator - It checks if the value in validated control is within the specified range or
not.
3. CompareValidator - Checks if the value in controls matches some specific values or not.

4. RegularExpressionValidator - Checks if the value matches a specific regular expression


or not.

5. CustomValidator - Used to define User Defined validation.

6. Validation Summary - Displays summary of all current validation errors on an ASP.NET


page.

Differentiate between namespace and assembly.

- Namespace is a naming convenience for logical design-time while an assembly establishes


the name scope for types at run time.

Differentiate between early binding and late binding.

Early binding means calling a non-virtual method that is decided at a compile time while Late
binding refers to calling a virtual method that is decided at a runtime.

What are the different kinds of assemblies?

There can be two types of assemblies.

Static assemblies -

- They are stored on disk in portable executable files.


- It includes .NET Framework types like interfaces and classes, resources for the assembly
(bitmaps, JPEG files, resource files etc.).

Dynamic assemblies -

- They are not saved on disk before execution rather they run directly from memory.
- They can be saved to disk after they have been executed.
Differentiate between Structure and Class.

- Structures are value type while Classes are reference type.


- Structures can not have constructor or destructors while Classes can have them.
- Structures do not support Inheritance while Classes do support Inheritance.

Explain ViewState.

- It is a .Net mechanism to store the posted data among post backs.


- It allows the state of objects to be stored in a hidden field on the page, saved on client side
and transported back to server whenever required.

What are the various types of Authentication?

There are 3 types of Authentication namely Windows, Forms and Passport Authentication.

Windows authentication - It uses the security features integrated in Windows NT and


Windows XP OS to authenticate and authorize Web application users.

Forms authentication - It allows you to create your own list of users and validate their
identity when they visit the Web site.

Passport authentication - It uses the Microsoft centralized authentication provider to identify


users. Passport allows users to use a single identity across multiple Web applications.
Passport SDK needs to be installed to use Passport authentication in your Web application.

Explain Server-side scripting and Client-side scripting.

- Server side scripting - All the script are executed by the server and interpreted as needed.
- Client side scripting means that the script will be executed immediately in the browser such
as form field validation, email validation, etc. It is usually carried out in VBScript or JavaScript.

What is garbage collection?


It is a system where a run-time component takes responsibility for managing the lifetime of
objects and the heap memory that they occupy.

Explain serialization and deserialization.

- Serialization is the process of converting an object into a stream of bytes.


- Deserialization is the process of creating an object from a stream of bytes.

Both these processes are usually used to transport objects.

What are the various session state management options provided


by ASP.NET?

- ASP.NET provides two session state management options - In-Process and Out-of-Process
state management.
- In-Process stores the session in memory on the web server.
- Out-of-Process stores data in an external data source. This data source may be a SQL
Server or a State Server service. Out-of-Process state management needs all objects stored
in session to be serializable.

Describe how Passport authentication works.

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.
4. Use the PassportAuthentication_OnAuthenticate event to access the user’s Passport
profile to identify and authorize the user.
5. 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.

Explain the use of duration attribute of @OutputCache page


directive.

- The @OutputCache directive’s Duration attribute determines how long the page is cached.
- If the duration attribute is set to 60 seconds, the Web form is cached for 60 seconds; the
server loads the response in memory and retains that response for 60 seconds.
- Any requests during that time receive the cached response.
- Once the cache duration has expired, the next request generates a new response and
cached for another 60 seconds.

Explain how a web application works.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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

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.

Validation events
These events occur just before a page is posted back to the server.

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.

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.

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.
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.

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.

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.

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.

What are the navigation ways between pages available in


ASP.NET?

Ways to navigate between pages are:

1. Hyperlink control
2. Response.Redirect method
3. Server.Transfer method
4. Server.Execute method
5. Window.Open script method

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.

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.

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.

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.

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 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.

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.

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.
Example:
<identity impersonate="true"/>

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.

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.

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.

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.

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.
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.

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.

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.

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.

What is the importance of Global.asax in ASP.NET?

The Global.asax is used to implement application and session level events.


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.

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.

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.

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.

How can you ensure a permanent cookie?

Setting Expires property to MinValue and restrict cookie to get expired.

What is AutoPostback?

AutoPostBack automatically posts the page back to the server when state of the control is
changed.
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.

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

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.

What is break mode? What are the options to step through code?

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
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.

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.

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.

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.

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.

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.

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.

Define Satellite Assemblies.

Satellite Assemblies are the special kinds of assemblies that exist as DLL and contain culture
specific 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.

What is CAS?

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.

Explain Automatic Memory Management in .NET.

Automatic memory management in .Net is through garbage collector which is incredibly


efficient in releasing resources when no longer in use.

Explain the use of DataAdapter.

- DataAdapter provides the bridge to connect command objects to a dataset object.

- It populates the table in the dataset from the data store and also pushes the changes in the
dataset back into the data store.
Methods of DataAdapter:

Fill - Populates the dataset object with data from the data source
FillSchema - Extracts the schema for a table from the data source
Update - It is use to update the data source with the changes made to the content of the
dataset

What is impersonation in ASP.NET?

Impersonation is a technique to access application resources using the identity of some other
user.

By default, Impersonation is off


<identity impersonate="true" userName="domain name\username" password="password"/>

Explain the difference between dataset and datareader.

- Dataset is a disconnected architecture whereas datareader is connected architecture


- Dataset is the best choice when we need to access data from more than one table.
- Dataset is handy when we need to move back while reading records.
- Compare to datareader, using dataset has an adverse affect on speed

Explain the various authentication mechanisms in ASP.NET.

ASP.NET supports 3 authentication mechanisms:

1. Windows Authentication: This is used for an intranet based application. Used to


authenticate domain users within a network. By default windows authentication is used.

2. Form Authentication: It’s a custom security based on roles and user accounts created
specifically for an application.

3. Passport Authentication: This is based on hotmail passport account.


Can you explain the basic use of DataView?

DataView is used for sorting and searching data within datatable.

It has got following methods:

Find - Returns the index of the row


FindRow - Returns a collection of DataRow
AddNew - Add a new row to the DataView object
Delete - Deletes the specific row from DataView object

What is Authorization in ASP.NET?

Usually after a user is authenticated by means of a login, the process of authorization is


followed where the decision is made whether a user should be granted access to a specific
resource.

There are 2 ways to authorize access to a given resource:

URL authorization:
URL authorization is performed by the UrlAuthorizationModule
It maps users and roles to URLs in ASP.NET applications.

File authorization:
File authorization is performed by the FileAuthorizationModule.
It checks the access control list of the .aspx or .asmx handler file to determine whether a user
should have access to the file.

What is connection pooling and how to enable and disable


connection pooling?

Connection pool is created when we open connection first time. When a new connection is
created with same connection string as the first one, it reuses the same and existing
connection object from the pool without creating a new one.
If the connection string is different then a new connection pooling will be created, thus won't
use the existing connection object.

By default, we have connection pooling enabled in .Net. To disable connection pooling, set
Pooling = false in the connection string.

Why is an object pool required?

To enhance performance and reduce the load of creating new objects, instead re using
existing objects stored in memory pool. Object Pool is a container of objects that are for use
and have already been created. Whenever an object creation request occurs, the pool
manager serves the request by allocating an object from the pool. This minimizes the memory
consumption and system's resources by recycling and re-using objects. When the task of an
object is done, it is sent to the pool rather than being destroyed. This reduces the work for
garbage collector and fewer memory allocations occur.

Can you explain the importance of Finalize method in .NET?

Clean up activities are entrusted to .NET Garbage collector in .NET. But unmanaged
resources such as File, COM object etc. are beyond the scope of Garbage collector. For
these type of objects, we have Finalize method where clean up code for unmanaged
resources can be put.

Advantages and disadvantages of using cookies

Advantages:
Cookies are stored in client thus no burden as far as space is concern.
Cookies are light weight and involves no complexities while using.

Disadvantages:
Most browsers have put a check on the size of a cookie.
Cookies can be disabled on the client thus limiting the use of cookies.
Cookies are tampered prone and thus associate security concern.
Cookies can expire thus leading to inconsistency.
 Next Page »
ASP.NET application life cycle and events processing
ASP.NET application life cycle - This section covers all about ASP.NET application life cycle and
events processing
ASP.Net Server Control vs HTML control
ASP.Net Server Control vs HTML control - This article includes differences between Server Control
and HTML control in ASP.NET.
ASP.NET Application and Session state variables, ways to preserve page data.
ASP.NET Application and Session - Here are the answers of interview questions on the topic
ASP.NET Application and Session state variables.

Anda mungkin juga menyukai