IIS Interview Questions and Answers
IIS Interview Questions and Answers
Now this is the scenarios of local environment. But If we want to host it on server from
where all user can access the sites then IIS comes into the picture.
IIS provides a redesigned WWW architecture that can help you achieve better
performance, reliability, scalability, and security for our Web sites. IIS can support
following Protocol HTTP/HTTPS, FTP, FTPS, SMTP Etc. We need to host the site on IIS,
when request comes from client it first hits the IIS Server, then the server passed it to
ASP.NET worker process to execute. Then the response also passes to client via IIS itself.
Note only Hosting of Site we can create our FTP Server, SMTP Server using IIS itself.
There are different version of IIS available like 5.1, 6.0, 7.0 etc
What are the different version on IIS that you have worked on ?
Before answering this question you need to know what are the different IIS version is
available in different OS. Below is the list of IIS version with different Operating system.
Windows Server 2008 - Windows Vista - Home Premium/ Ultimate - IIS 7.0
Windows Server 2003 - IIS 6.0
Windows XP Professional - IIS 5.1
Now based on your working experience you can say that you have worked on IIS 5.1 and
6.0 or only IIS 7. Etc.
Now, the next question that can asked after answering this question is “what is the
difference between them ? ” – Well I will come with this later.
Whenever we create any application pool IIS automatically registers the pool with
HTTP.SYS to identify the particular during request processing.
No. Every Web Application should have one Application Pool. Bydefault it is
"DefaultAppPool ".
Even Vista Home Premium and Ultimate edition is also having IIS 7.0
Right Click on Application Pool > All Task > Save Configuration to a File .
This will save all the settings of Application Pool as an XML file.We can make it
password protected also.
What are the different authentication mode available for IIS Remote Debugging ?
1. Windows Authentication
2. No-Authentication
How can we get the list of worker process running in IIS along with the Application
pool name ?
If there are multiple worker process running on IIS, then how can you attach a
particular worker process for application ?
Well, If there are multiple worker process running in IIS, it means I have to know the
name of my application pool. Then I can run cscript iisapi.vbs script to find out the
4
process ID and Application Pool name . Based on the process Id for particular application
I have to attache the process from Visual studio IDE.
Yes. This is one of the great features of msvsmon.exe . Each instance of the remote
debugger has a unique server name.we can give an instance of the remote debugger
any server name. Now multiple user can able to access the server instance.
This is used automatically register the .NET Framework with your IIS.
Its
C:\WINDOWS\system32\LogFiles\W3SVC1
What is ISAPI Filter ?
Components are designed as module and there are major change in administration
settings.
FYI : You can find out many of them, just go thorugh Microsoft IIS web site.
WAP is the Controller of Worker process under a Application Pool. Windows Activation
Process which is managed by the worker process by starting, stopping and recycling
the application pool. When to start, stop and Recycle should be defined on
Application Pool Settings. Activation Process is also responsible for Health Monitor of
Application Pool during runtime.
FYI : Health monitoring setting can be easily found in Properties of Application Pool.
What are the different type of application pool available in IIS 7.0 ?
1. DefaultAppPool (Integrated)
2. ClassicAppPool
What are the worker process for IIS 5.1 and IIS 6.0 ?
NOTE: This is objective type question, Please click question title for correct answer.
This is one of the most question in IIS. And along with that interviewer can as what is
the different between Web farm and Web Garden ?
When we hosted our web Application on multiple web server under a load balancer
call the Web Farm. This is generally used for heavy load web application where there
are many user request at a time. So When Web Application is hosted on Different IIS
6
Server over a load balancer, Load balancer is responsible for distribute the load on
different server.
NetworkServices
How can we set the default page for any web application ?
We can set the default page for a web site from the Virtual Directory Setting.
How To :
IIS Manager > Virtual Directory > Right Click > Properties > GoTo Document Tab.
We can set the Idle time out for an worker process from Application Pool Properties.
In Performance Tab of Application pool, we can set the Idle Time out of the worker
process. This means worker process will shut down after that given time period if it
stay idle. And will again wake up again if a new request comes.
Is there any alternative way to host site on IIS rather than opening IIS Manager ?
Yes, We can directly host any site from the physical location of directory itself.
There you need to select > "Share This Folder" Option Button. Then it will ask for alias
name and other setting. Then Click on OK.
To Validate : Run > Inetmgr > Check there should an virtual directory with the same
"Alias" name that you have given.
If there are already one Virtual directory exist it will showing you the error message
while you providing the "Alias" name.
Yes. We can.
While creating Application Application Pool From IIS, there should have two option
available first one is for Default Setting and Another is for Existing Setting as
template.
We can select the second one and from the drop down listed below we can select any
on the Application Pool as Template,.
7
Main components for SVCHost.exe are WWW Publishing Service (W3SVC) and
Windows Activation Porcess (WAP) .
What are the different way that we can hosted site on IIS ?
We can hosted site on IIS either creating Virtual Directory through IIS manager or Using
Folder Web Sharing .
Apart from that Visual studio provide some inbuilt features to host the site on IIS like
using Publishing the web site , Using Copy web Tool or Creating Virtual directory during
the creating the project by choosing Location as HTTP
When client request for an aspx pages, request comes to kernel level off IIS means to
HTTP.SYS . HTTP.SYS receives the request and based on the application pool name [
Which is already registred with the HTTP.SYS ] it send the request to worker process.
Windows Activation process works as mediator of them. w3wp.exe loads
"aspnet_isapi.dll" files to start the HTTPRuntime . HTTPRuntime creates
HTTPApplication objects and all request are passed through HTTPModule and finally
reached to HttpHandler . This is the request pipeline.
We can set the Session time out settings from the Virtual Directory for that site.
Right Click on Virtual Directory > Properties > Click on "Configuration" Button
Goto the "Option" Tab. There in Enable Session State Section you can configure the
Session Timeout .
What are the different "Execution Permission" available for IIS for an virtual
directory ?
2. Scripts Only
3. Scripts and Executable
This can be change from Virtual Directory properties. First open Properties of Virtual
Directory > GoTo ASP.NET Version Tab.
Step 1 : In the IIS (inetmgr), right click on the "Computer" icon under "Internet
Information Services" . Click "All Tasks" and select "Backup/Restore Configuration".
Step 2 : Click on button "Create backup". Give Name for your backup file. If you want
encryption enable encryption option and give UserName and Password and then click
OK.
IIS metabase is a special databse which is used to maintain the settings and
configurations data for IIS. In simple term, it is a configuration base for IIS
(Metabase.xml).
1. Use appcmd.exe to recycle the application pool from the command prompt.
9
2. appcmd.exe is the command line tool for IIS7, you will find this tool at following
location :
%systemroot%\system32\inetsrv\appcmd
What are the Different steps to be followed to get SSL(Secure Sockets Layer) for
our Web Application ?
. After receiving the certificate we have to install that particular certificate on our
Web Server using IIS
. We have to use Secure Hyper Text Transfer Protocol(HTTPS) when accessing secure
pages in our application.
By this way we could make our web page as SSL protected. !!!
Which DLL is used to translate XML to SQL in Internet Information Services (IIS) ?
NOTE: This is objective type question, Please click question title for correct answer.
We use applicaiton pools for isolation purpose. Every application within an application
pool used the same worker process. 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.
The Windows Process Activation Service (WAS) provides process activation, resource
management and health management services for message-activated applications. It
10
manages application pool configuration and the creation and lifetime of worker
processes for HTTP and other protocols (net.tcp,net.pipe,net.msmq)
Details : http://techprudent.com/the-windows-process-activation-service/
and
MSDN : http://technet.microsoft.com/en-us/library/cc735229%28WS.10%29.aspx
Generally IIS provides four different kinds of Authentication Methods they are :
Anonymous Method
If we select this authentication, IIS doesn't perform any authentication so that any
one can access the application.
Basic Method
If we select this method, the user who access the application should provide windows
username and password to access the application. Although this is sent through a
network by transmitting direct text so it it very insecure.
Digest Method
This method is almost equal to Basic method but the difference is the password is
hashed before it is transmitted through out a network.
In this the application uses the Kerberos protocol to validate(Authenticate) the user.
This uses a Secret key cryptography which provides strign authentication for
Client/Server applications.
There we must locate an item called "Internet Information Services (IIS)". If this is
checked, IIS should be installed.
So that you can have your IIS installed in your system if it is not installed
How will you call a Website from another computer connected in LAN?
11
In order to call a website from another computer in LAN.We will have to Host the
Website in one Machines in the LAN and provide it a Static Private IP.
Once the website is hosted then we can call the website from the Private static IP of
the machine in which the web app is hosted.
http://192.168.1.2/abc
What are the different ways that a Web Site can be Hosted on IIS?
A Website can be Hosted on IIS either by creating a Virtual Directory through IIS
manager or Using Folder Web Sharing facility offerd by O.S.
Apart from that Visual Studio provides some inb-uilt features to host the site on IIS
like using Publishing the web site,Using Copy web Tool or Creating Virtual directory
during the creation of project by choosing Location as HTTP.
NOTE: This is objective type question, Please click question title for correct answer.
There are certain reasons where we have a requirement to have remote debugging
as:-
1. Our development server does not have IIS installed.
2. Our Development server and Build/Released/Hosting Server is different.
3. Multiple users want to debug simultaneously.
4. Our applications located in centralized location.
Yes. we can host multiple web sites on IIS and we have to create a Virtual Directory
for each and every web sites So that each and every web application will point to
different different Virtual Directory.
Note : Here,web sites means the Root folder which is generally in
C:\inetpub\wwwroot.
What are the worker process for IIS 5.1 and IIS 6.0 and IIS 7.0?
For IIS 5.1 > aspnet_wp.exe
For IIS 6.0 > w3wp.exe
For IIS 7.0 > w3wp.exe
What are the different type of application pool available in IIS 7.0 ?
1. DefaultAppPool (Integrated)
2. ClassicAppPool
This is used automatically register the .NET Framework with your IIS.
If there are multiple worker process running on IIS, then how can you attach a
particular worker process for application ?
run cscript iisapi.vbs script to find out the process ID and Application Pool name . Based
on the process Id for particular application I have to attache the process from Visual
studio IDE.
IIS Services?
1. www services
2. FTP services
3. SMTP services
4. NNTP services
What is App Pool and App Domain? What is the difference between these two?
Application Pool is created the each and every website.
Application Domain is created to one domain Purpose.