Can you explain the difference between an ADO.NET
Dataset and an ADO Recordset?
In ADO, the in-memory representation of data is the
RecordSet. In ADO.NET, it is the dataset. There are
important differences between them.
* A RecordSet looks like a single table. If a recordset
is to contain data from multiple database tables, it
must use a JOIN query, which assembles the data from the
various database tables into a single result table. In
contrast, a dataset is a collection of one or more
tables. The tables within a dataset are called data
tables; specifically, they are DataTable objects. If a
dataset contains data from multiple database tables, it
will typically contain multiple DataTable objects. That
is, each DataTable object typically corresponds to a
single database table or view. In this way, a dataset
can mimic the structure of the underlying database. A
dataset usually also contains relationships. A
relationship within a dataset is analogous to a
foreign-key relationship in a database —that is, it
associates rows of the tables with each other. For
example, if a dataset contains a table about investors
and another table about each investor’s stock purchases,
it could also contain a relationship connecting each row
of the investor table with the corresponding rows of the
purchase table. Because the dataset can hold multiple,
separate tables and maintain information about
relationships between them, it can hold much richer data
structures than a recordset, including self-relating
tables and tables with many-to-many relationships.
* In ADO you scan sequentially through the rows of the
recordset using the ADO MoveNext method. In ADO.NET,
rows are represented as collections, so you can loop
through a table as you would through any collection, or
access particular rows via ordinal or primary key index.
DataRelation objects maintain information about master
and detail records and provide a method that allows you
to get records related to the one you are working with.
For example, starting from the row of the Investor table
for "Nate Sun," you can navigate to the set of rows of
the Purchase table describing his purchases. A cursor is
a database element that controls record navigation, the
ability to update data, and the visibility of changes
made to the database by other users. ADO.NET does not
have an inherent cursor object, but instead includes
data classes that provide the functionality of a
traditional cursor. For example, the functionality of a
forward-only, read-only cursor is available in the
ADO.NET DataReader object. For more information about
cursor functionality, see Data Access Technologies.
* Minimized Open Connections: In ADO.NET you open
connections only long enough to perform a database
operation, such as a Select or Update. You can read rows
into a dataset and then work with them without staying
connected to the data source. In ADO the recordset can
provide disconnected access, but ADO is designed
primarily for connected access. There is one significant
difference between disconnected processing in ADO and
ADO.NET. In ADO you communicate with the database by
making calls to an OLE DB provider. In ADO.NET you
communicate with the database through a data adapter (an
OleDbDataAdapter, SqlDataAdapter, OdbcDataAdapter, or
OracleDataAdapter object), which makes calls to an OLE
DB provider or the APIs provided by the underlying data
source. The important difference is that in ADO.NET the
data adapter allows you to control how the changes to
the dataset are transmitted to the database — by
optimizing for performance, performing data validation
checks, or adding any other extra processing. Data
adapters, data connections, data commands, and data
readers are the components that make up a .NET Framework
data provider. Microsoft and third-party providers can
make available other .NET Framework data providers that
can be integrated into Visual Studio.
* Sharing Data Between Applications. Transmitting an
ADO.NET dataset between applications is much easier than
transmitting an ADO disconnected recordset. To transmit
an ADO disconnected recordset from one component to
another, you use COM marshalling. To transmit data in
ADO.NET, you use a dataset, which can transmit an XML
stream.
* Richer data types.COM marshalling provides a limited
set of data types — those defined by the COM standard.
Because the transmission of datasets in ADO.NET is based
on an XML format, there is no restriction on data types.
Thus, the components sharing the dataset can use
whatever rich set of data types they would ordinarily
use.
* Performance. Transmitting a large ADO recordset or a
large ADO.NET dataset can consume network resources; as
the amount of data grows, the stress placed on the
network also rises. Both ADO and ADO.NET let you
minimize which data is transmitted. But ADO.NET offers
another performance advantage, in that ADO.NET does not
require data-type conversions. ADO, which requires COM
marshalling to transmit records sets among components,
does require that ADO data types be converted to COM
data types.
* Penetrating Firewalls.A firewall can interfere with
two components trying to transmit disconnected ADO
recordsets. Remember, firewalls are typically configured
to allow HTML text to pass, but to prevent system-level
requests (such as COM marshalling) from passing.
Can you give an example of what might be best suited to
place in the Application_Start and Session_Start
subroutines?
The Application_Start event is guaranteed to occur only
once throughout the lifetime of the application. It’s a
good place to initialize global variables. For example,
you might want to retrieve a list of products from a
database table and place the list in application state
or the Cache object. SessionStateModule exposes both
Session_Start and Session_End events.
If I’m developing an application that must accomodate
multiple security levels though secure login and my
ASP.NET web appplication is spanned across three
web-servers (using round-robbin load balancing) what
would be the best approach to maintain login-in state
for the users?
What are ASP.NET Web Forms? How is this technology
different than what is available though ASP?
Web Forms are the heart and soul of ASP.NET. Web Forms
are the User Interface (UI) elements that give your Web
applications their look and feel. Web Forms are similar
to Windows Forms in that they provide properties,
methods, and events for the controls that are placed
onto them. However, these UI elements render themselves
in the appropriate markup language required by the
request, e.g. HTML. If you use Microsoft Visual Studio
.NET, you will also get the familiar drag-and-drop
interface used to create your UI for your Web
application.
How does VB.NET/C# achieve polymorphism?
By using Abstract classes/functions.
Can you explain what inheritance is and an example of
when you might use it?
Inheritance is a fundamental feature of an object
oriented system and it is simply the ability to inherit
data and functionality from a parent object. Rather than
developing new objects from scratch, new code can be
based on the work of other programmers, adding only new
features that are needed.
How would you implement inheritance using VB.NET/C#?
When we set out to implement a class using inheritance,
we must first start with an existing class from which we
will derive our new subclass. This existing class, or
base class, may be part of the .NET system class library
framework, it may be part of some other application or
.NET assembly, or we may create it as part of our
existing application. Once we have a base class, we can
then implement one or more subclasses based on that base
class. Each of our subclasses will automatically have
all of the methods, properties, and events of that base
class ? including the implementation behind each method,
property, and event. Our subclass can add new methods,
properties, and events of its own - extending the
original interface with new functionality. Additionally,
a subclass can replace the methods and properties of the
base class with its own new implementation - effectively
overriding the original behavior and replacing it with
new behaviors. Essentially inheritance is a way of
merging functionality from an existing class into our
new subclass. Inheritance also defines rules for how
these methods, properties, and events can be merged.
What's an assembly?
Assemblies are the building blocks of .NET Framework
applications; they form the fundamental unit of
deployment, version control, reuse, activation scoping,
and security permissions. An assembly is a collection of
types and resources that are built to work together and
form a logical unit of functionality. An assembly
provides the common language runtime with the
information it needs to be aware of type
implementations. To the runtime, a type does not exist
outside the context of an assembly.
Describe the difference between inline and code behind -
which is best in a loosely coupled solution?
ASP.NET supports two modes of page development: Page
logic code that is written inside <script runat=server>
blocks within an .aspx file and dynamically compiled the
first time the page is requested on the server. Page
logic code that is written within an external class that
is compiled prior to deployment on a server and linked
"behind" the .aspx file at run time.
Explain what a diffgram is, and a good use for one?
A DiffGram is an XML format that is used to identify
current and original versions of data elements. The
DataSet uses the DiffGram format to load and persist its
contents, and to serialize its contents for transport
across a network connection. When a DataSet is written
as a DiffGram, it populates the DiffGram with all the
necessary information to accurately recreate the
contents, though not the schema, of the DataSet,
including column values from both the Original and
Current row versions, row error information, and row
order.
Where would you use an iHTTPModule, and what are the
limitations of anyapproach you might take in
implementing one?
One of ASP.NET’s most useful features is the
extensibility of the HTTP pipeline, the path that data
takes between client and server. You can use them to
extend your ASP.NET applications by adding pre- and
post-processing to each HTTP request coming into your
application. For example, if you wanted custom
authentication facilities for your application, the best
technique would be to intercept the request when it
comes in and process the request in a custom HTTP
module.
In what order do the events of an ASPX page execute. As
a developer is it important to understand these events?
Every Page object (which your .aspx page is) has nine
events, most of which you will not have to worry about
in your day to day dealings with ASP.NET. The three that
you will deal with the most are: Page_Init, Page_Load,
Page_PreRender.
Which method do you invoke on the DataAdapter control to
load your generated dataset with data?
System.Data.Common.DataAdapter.Fill(System.Data.DataSet);
If my DataAdapter is sqlDataAdapter and my DataSet is
dsUsers then it is called this way:
sqlDataAdapter.Fill(dsUsers);
Which template must you provide, in order to display
data in a Repeater control?
ItemTemplate
How can you provide an alternating color scheme in a
Repeater control?
AlternatingItemTemplate Like the ItemTemplate element,
but rendered for every other row (alternating items) in
the Repeater control. You can specify a different
appearance for the AlternatingItemTemplate element by
setting its style properties.
What property must you set, and what method must you
call in your code, in order to bind the data from some
data source to the Repeater control?
You must set the DataMember property which Gets or sets
the specific table in the DataSource to bind to the
control and the DataBind method to bind data from a
source to a server control. This method is commonly used
after retrieving a data set through a database query.
What base class do all Web Forms inherit from?
System.Web.UI.Page
What method do you use to explicitly kill a user’s
session?
The Abandon method destroys all the objects stored in a
Session object and releases their resources.
If you do not call the Abandon method explicitly, the
server destroys these objects when the session times
out.
Syntax: Session.Abandon
How do you turn off cookies for one page in your site?
Use the Cookie.Discard Property which Gets or sets the
discard flag set by the server. When true, this property
instructs the client application not to save the Cookie
on the user’s hard disk when a session ends.
Which two properties are on every validation control?
ControlToValidate & ErrorMessage properties
How do you create a permanent cookie?
Setting the Expires property to MinValue means that the
Cookie never expires.
Which method do you use to redirect the user to another
page without performing a round trip to the client?
Server.transfer()
Page Numbers :
1
2
3
4
5