ASP.NET FAQ
Add Comment1) Is ASP.NET and ASP+ the same?
Yes! ASP+ and ASP.NET refer to the same thing. First ASP.NET was called
ASP+ since its a upgrade to ASP. It was also called ASP.NET since its a
part of the .NET platform. But later on ASP+ was causing a lot of confusion hence
it was decided to call it as ASP.NET.
2) Is ASP.NET a upgrade to ASP?
Yes, ASP.NET is a major upgrade over ASP. It
does have backward support for ASP, but ASP.NET is better managed, well developed and
best of all Compiled! So no more slow interpreted scripting, in ASP.NET you
use any of the .NET managed languages like C#, VB.NET, JScript.NET even
COBOL.NET to write your ASP.NET pages.
3) Should all ASP programmers learn ASP.NET?
This depends on what kind of ASP programmer you are. One
thing is sure that ASP.NET will replace ASP in the coming years,
but it will at least take a year for that to happen. Till
that time ASP will surely be a more popular choice.
4) Does ASP.NET need the .NET Platform?
ASP.NET derives its power from the .NET Platform
and Services. Hence you need to install the .NET Platform for your ASP.NET
applications. There is a separate
.NET redistributable runtime (20 MB) available that can be installed on
production web servers.
5) I am a Web Server Admin, How do I install support for ASP.NET
on my server?
You will have to install the
.NET redistributable runtime (20 MB) on production web servers.
6 I want to use a assembly (Dll) made by me on my page, where do
I place the Dll library file?
According to the ASP.NET specification you have to create a
"/bin" directory inside the Virtual Directory which
hosts your application and copy the "Dll" file in this
"/bin" directory. For Example: you have a virtual directory called "myapplication"
then create a sub-directory within it called "bin". Then you can copy your
custom assemblies and code-behind files to the "bin" directory.
7 Do I need to register
the Managed Dll uploaded to the web server? Do I have to re-start the web
server incase I need to update my previous assembly Dll?
All such worries are gone with .NET! To
deploy/install a Managed Dll on your server all you need to do is XCopy
the Dll to the 'bin' directory (which resides within your Virtual Directory)
and that's it! Your Dll is installed. In case you want to update a previously
written assembly, just overwrite it by XCopy and your ASP.NET application
will automatically sense the new version of your assembly and start using the
updated assemblies without any server re-start!
8 How is it possible to
update my assemblies on the server without a server re-start?
If you knew a bit about the windows file system,
you would know that when a file is in use by a application the operating
system locks it down, so no one can change or delete the file. The same
applies to the .NET Assemblies also! To overcome this problem the ASP.NET
design team designed a mechanism where, when the ASP.NET application first
requests a new assembly, a shadow-copy of that assembly is made and then the
shadow-copy is used by the ASP.NET runtime. Hence the
original file never gets locked, its the duplicate copy which is locked by the
application; so you can overwrite the original file without needing to
re-start the web server.
Once you update the assembly on the server with a new one, the ASP.NET runtime senses it and makes a copy of the new assembly. All new client requests are now served from the new assembly. This way ASP.NET achieves a graceful upgrade without any additional downtime!
Once you update the assembly on the server with a new one, the ASP.NET runtime senses it and makes a copy of the new assembly. All new client requests are now served from the new assembly. This way ASP.NET achieves a graceful upgrade without any additional downtime!
9 What is the difference
between User Controls and Custom Controls?
There is a small difference between the two.
User Controls are basically text files with the extension '.ascx' which
enables you to make GUI re-usable controls. Since its a text file, it generally
contains a mixture of HTML and scripting. You can edit User Controls in an
editor and they are also called as Pagelets. They are also called as
Include files in steroids!
On the other hand Custom Controls reside in compiled ( Dll ) assemblies. They are non-GUI but can emit HTML GUI at runtime. Example of Custom Controls would be the sever controls which come bundled with the .NET SDK like DataGrid, Repeater, DataList etc. Custom Controls are always compiled into Dll's and hence require good programming knowledge. The purpose of Custom Controls too is to create re-usable units of code.
On the other hand Custom Controls reside in compiled ( Dll ) assemblies. They are non-GUI but can emit HTML GUI at runtime. Example of Custom Controls would be the sever controls which come bundled with the .NET SDK like DataGrid, Repeater, DataList etc. Custom Controls are always compiled into Dll's and hence require good programming knowledge. The purpose of Custom Controls too is to create re-usable units of code.
10 What is Code Behind?
Speaking in a strict sense the concept of
codebehind is native to Visual Studio.NET and has nothing to do with the
ASP.NET API. But speaking loosely, ASP.NET allows you to separate your code
and user interface (UI) into Dll's and '.aspx' pages respectively. This way
the programmers and the designers can work separately without spoiling or interfering
in each others work on the same page. Since the code is separate from the main
file its called as Code-Behind. The codebehind attribute is native to Visual
Studio.NET, but since there is no other term to define the code and
presentation separation, the word code-behind is used by all developers.
11 Can ASP.NET
applications run on a web server other than IIS?
This is possible, since all the code is now
essentially compiled unlike the ASP Scripting there is no need for ASP.NET to
depend on IIS. Unfortunately at present there are no other web servers capable
of running ASP.NET.
12 Can ASP.NET
applications run without a Web Server?
This too is possible! You can run ASP.NET
applications right from a CD, just as you would run any other normal
application, without a web server! Since the ASP.NET framework depends
strongly on the .NET Platform rather than IIS you can write your own HTTP
handlers that will run your application. Unfortunately at present there are no
examples on it.
13 Which Windows Operating
Systems support ASP.NET?
Currently the ASP.NET runtime distributed
through the .NET SDK only supports Windows 2000 (any flavor), Windows XP
Professional and the Windows .NET Server. Other versions of Windows are not
currently supported.

