Wednesday, July 28, 2010

IIS Interview Question


1. How many authentications are done on IIS? Port numbers for HTTP? How do you take backups of IIS Servers?

Ø       Authentication types in IIS
·                Basic Authentication
·                Anonymous Authentication
·                Integrated Windows Authentication
 
                    Default it uses 8080 port

·                In the IIS snap-in on the local computer, click the Computer icon under Internet Information   
Services.
·                Click Action and select Backup/Restore Configuration.
·                Click Create backup, choose a name for your backup file and then click OK

2.  How many times are working in IIS?
    24 Hours

3. In My Office when we are trying to reach internet its working but when we are trying to reach intranet we are getting slow response? Please suggest me how to resolve it?

Ø       This might be due to internet proxy server.
·           Go to Internet Explorer option (Tools -> Internet Options),
·           Go to connections tab, click on LAN Settings.
·           In Use Proxy Server for your LAN, click on advanced and add your intranet site IP or addresses in "do not use proxy server for addresses beginning with" box.

4. What are the properties of application Pool?

·                Recycling
·                 Performance
·                Health
·                Identity

5. How to Configure SSL?
 First you need select which website you want SSL Certificate then 
·              Right click the website on IIS then select directory security tab 
·              select server certificate then you will find the dialog box there you need to click next 
·              select first option "create new certificate" then next then give the valuable website name then next then give the organization details then next then give the common name (server name " dnsserver name ") then next 
·              Select appropriate regional settings then next then select the destination path of the certificate        file then click finish. 
·              Copy paste this certificate content any SSL provider. And they give to you the certificate then again start the same process on your server this time you need to select import the certificate.
 
6. What is the difference between IIS 5.1 and IIS 6 administration?
 
·                IIS 5.1 is for Windows XP
·                IIS 5.1 it's work on Windows client  & Server
·                IIS 5.1 providing only 5 types of authentication
·                svchost.exe for IIS5.1
 
·                IIS 6 is for Windows Server, We can create separate application pool with worker process for a separate website in IIS 6.0 only.
·                IIS 6.0 providing 7 types authentication.
·                Microsoft integrated log file format  in IIS6.0
·                http.sys for iis6.0
 
7. Can I run multiple websites with same port number and different IP address?
 
Ø       Yes it will run with the multiple websites with same port  number and different IP address.
     if you have to use same IP with the same port no then you  have to use host header in IIS   
    configuration.
 
Ø       You cannot host a website with one IP address and multiple port ID. But you can always host the the website with one port ID on multiple IP addresses or server.
 
8. What is App Pool and App Domain? What is the difference between the two.
   
·                IIS process is w3wp;
·                Every application pool in IIS use it's own process; 
·                AppPool1 uses process 3784, AppPool2 uses process 5044
·                Different applications in Asp.net will use different AppDomain; 
·                AppTest2 and AppTest2 are in different AppDomain, but in the same process.
 
What's the point to use them?
 
Application pool and AppDomain, both of them can provide isolations, but use different approaches. Application pool uses the process to isolate the applications which works without .NET.  But AppDomain is another isolation methods provided by .NET. If your server host thousands of web sites, you won’t use 
Thousands of the application pool to isolate the web sites; just because, too many processes running will kill the Operating System. However, sometime you need application pool. One of the advantages for application pool is that you can configure the identity for application pool. Also you have more flexible options to recycle the application pool. At least right now, IIS didn’t provide explicit options to recycle the appdomain.
  
    For more information follow the blog---http://blog.flair-systems.com/2010/05/c-fastfood-what- appdomain.html
 
9. In IIS Version 6.0 through application pool we can provide different -2 applications for the client.
   Is it right? If yes then how to provide the application to the client  and what kind of application it  
   can be?
 
If you are running your IIS server with 2 different Versions of framework (1.1 & 2.0) you can create 2 different application pools and point your application to the required framework you want to run.
 
10. How many web.config files are there in 1 project.we can overwrite the web.config files.

There may be more than one web config file in one application. But in different folders. And all web config
files override the application root directory web.config file methods. If your web application has a well defined folder structure you can have as many web.configs as that of your flode structure.
   Let’s Say For Example the Admin Folder in the application Can contain a web.config with all settings
for the admin Role. If you have members you can have members folders with all the settings related to Members in another web.config.

11. What are different authentication types? How do you retrieve? User id in case of windows authentication.
 
Different Type of Authentications is

·                Anonymous Authentication ( IUSR_COMPUTERNAME)
·                Windows Integrated Authentication (It uses NTLM or Kerberos, AuthType in IIS metabase)
·                Basic Authentication – (Clear Text)
·                Digest Authentication
·                Advance Digest Authentication
·                Windows Form based authentication (using database at the blackened)
·                IIS 6 includes. Passport Authentication.
·                I believe Radius Authentication is one which can be
·                Included. Authentication with Internet Authentication service IAS.

How do you retrieve UserID in case of Windows Authentication?

HTTP header has the property Auth_Type = the authentication method that the server uses to validate users (NTLM or Kerberos if Windows Integrated Authentication is used)
AUTH_USER = Returns the raw authenticated user name
Create an ASP page on webserver and drop the following lines to see the auth user.

<%
for each x in Request.ServerVariables
  response.write(x & "<br />")
next
 %>
 
12How a proxy is generated for a web service?
Ø       when you use WSDL.exe to compile a web service the following 2 steps are done:
·                A new proxy is generated for your web service
·                Web service is compiled into .cs file (You can view it to check out the client code)

·                Now you have to compile your cs file into dll file so you can make reference to it. This can be done by running the following command in VS prompt:
ü                           csc /t:Library myservice.cs

·                Then .cs file it is converted into .Dll
But if you are using VS Dot Net then these 2 steps are done automatically
 
13. How do you remotely administer MS IIS?
Ø       Through the IIS administrative web console
·                Log into the machine remotely using Remote Desktop or a 3rd party application.
·                Just open Inetmgr on local machine and connect to remote server on which you want to  
  manage IIS Server
·                Open MMC and create an IIS snap-in, while creating it will ask server name to connect.
·                OR
·                Open IIS screen or goto RUN-> type inetmgr -> OK. IIS screen will open. right click on server-name, select connect server, and then type the remote server name.
 
14. How do you create Virtual Root in IIS?
·                FIRST CREATE THE NEW FOLDER IN THE ANY OF THE UR SYSTEM, THAT IS THE UR ORIGINAL ROOT FOLDER.
Ø       goto
·                start-->run--.type INETMGR--->GOTO DEFAULT WEBSITE-->RIGHT CLICK-->GOTO NEW-> SELECT NEW VIRTUAL DIRECTORY-->GIVE THE ALIAS NAME OF THE ROOT->CLICK NEXT-->GIVE THE PATH OF THE ORIGINAL DIRECTORY-->CLICK NEXT--> CLICK FINISH--->VIRTUAL WILL BE CREATED
 
If the site is already existing then you simply open IIS manager, go to the site for which you need to create the virtual root [virtual directory] Browse to that folder under the site, right click > properties > and Select create
application.
 
15. How do you remotely administer MS IIS?
   You can administer your server remotely by running IIS on an intranet or the Internet. You can use the following tools for this purpose:

• IIS Manager: You can use IIS Manager on your server to remotely connect to and administer an intranet server running IIS 5.0, IIS 5.1, or IIS 6.0 (IIS 3.0 and IIS 4.0 are not supported).

• Terminal Services: Terminal Services does not require you to install IIS Manager on the remote client computer because, once connected to the server running IIS, you use IIS Manager on the Web server as if you are logged on to the server locally.

• Remote Administration (HTML) Tool: You can use the Remote Administration (HTML) tool to administer your IIS Web server from any Web browser on your intranet. This version of the Remote Administration (HTML) tool is supported only on servers running Windows Server 2003 with IIS 6.0.

  Note

If you install the Remote Administration (HTML) Tool for IIS 6.0 on a server that has been upgraded to Windows Server 2003 from Microsoft Windows NT 4.0, you may receive an error when you try to view the administrative Web site. This error occurs because, by default, buffering is set to False in IIS 4.0. However, in IIS 6.0, buffering is set to true by default, and this setting is not changed during upgrade. To view the administrative Web site in IIS 6.0, you must enable buffering.

  Important

You must be a member of the Administrators group on the local computer to perform the following procedure or procedures. As a security best practice, log on to your computer by using an account that is not in the Administrators group, and then use the runas command to run IIS Manager as an administrator. At a command prompt, type runas /user:Administrative_AccountName "mmc %systemroot%
\system32\inetsrv\iis.msc".

Procedures
Ø       To administer your intranet server remotely by using IIS Manager
·                Start IIS Manager on any computer on your network that is running a member of the Windows Server 2003 family.

·                To connect to a remote computer running IIS, right-click the local computer, and then click Connect.

 In the Connect to Computer dialog box, in the Computer name box, type the name of the computer to which you want to connect, or click Browse to browse to the computer, and then click OK.


Note   If you do not have TCP/IP and a name resolution server, such as Windows Internet Name Service (WINS) installed, you might not be able to connect to an IIS computer using the computer name. As an alternative, you can also use the IP address of the IIS computer, or you can add the host name and IP address to the local hosts file on the computer, which is located at %systemdrive%\Windows\system32\drivers\etc\hosts. For more information,
see "TCP/IP" in Help and Support Center for Windows 2003.

Ø       To administer your server remotely using Terminal Services
·              Install the Terminal Services client on the computer you are using to connect.

·              While the remote computer is running, start Terminal Services and identify the name of the remote computer.

·              From the Terminal Services window, administer IIS as you would locally. You can start IIS  Manager on any computer on your network that is running Windows, or you can open a Web-
               based server-management appliance. You can also run scripts from the Terminal Services    
              window.


Ø       To enable the Remote Administration (HTTP) tool through Control Panel
Ø        
·              In Control Panel, click Add or Remove Programs.

·              In the Add or Remove Programs dialog box, click Add/Remove Windows Components.

·              In the Windows Components Wizard dialog box, in Components, click Application Server, and then click Details.

·              In the Application Server dialog box, in Subcomponents of Application Server, click Internet Information Services (IIS), and then click Details.

·              In the Internet Information Services (IIS) dialog box, in Subcomponents of Internet Information Services (IIS),click World Wide Web Service, and then click Details.

·              In the World Wide Web Service dialog box, in Subcomponents of World Wide Web Service, select the Remote Administration (HTML) check box, and then click OK.

·              Click OK two more times, and then, in the Windows Components Wizard dialog box, click Next.

·              After setup is complete, click Finish to close the wizard.


Ø              To enable buffering on the administrative Web site (for upgrades from IIS 4.0 to IIS 6.0 only)
       • In IIS Manager, double-click servername (local computer).

      • Double-click Web Sites.

      • Right-click the Administration Web site, and then click Properties.

      • Click Home Directory, click Configuration, and then click Options.

      • Check the Enable buffering check box, and then click OK twice.

Ø              To view the Remote Administration (HTML) tool from IIS Manager
       • Expand the local computer, expand the Web Sites folder,
·                right-click the Administration Web site, and click Browse.


Ø              To administer an IIS Web server with the Remote Administration (HTML) tool
       • Open your intranet site from a Web browser and type the following in the address bar: https://hostname:8098

·                Replace hostname with the name of the computer that you want to connect to and administer.
 
16. How many users supported by IIS at a Time ?
·                Depends on OS platform. On WinXP it limits to 10 connections
·                On server 2003 could be easily 3000 (thousand!) or even more
                See MSDN thread:
http://blogs.msdn.com/david.wang/archive/2006/04/12/HOWTO-Maximize-the-Number-of-Concurrent-Connections-to-IIS6.aspx
 
17. IIS Isolation modes
·                Low level,
·                Middle level 
·                High level
 
18. IIS DNS, DHCP concepts
 
IIS: Internet Information Server (IIS) is a World Wide Web server, a Gopher server and an FTP server all rolled into one. IIS means that you can publish WWW pages and extend into the realm of ASP (Active Server Pages) whereby JAVA or VBscript (server side scripts) can generate the pages on the fly. IIS has fun things like application development environment (FrontPage), integrated full-text searching
(Index Server), multimedia streaming (NetShow), and site management extensions.

DHCP: Dynamic Host Configuration Protocol (DHCP) is a network protocol that enables a server to automatically assign an IP address to a computer from a defined range of numbers (i.e., a scope) configured for a given network.

DHCP assigns an IP address when a system is started, for example:

A user turns on a computer with a DHCP client.

The client computer sends a broadcast request (called a DISCOVER or DHCPDISCOVER), looking for a DHCP server to answer.

The router directs the DISCOVER packet to the correct DHCP server.


The server receives the DISCOVER packet. Based on availability and usage policies set on the server, the server determines an appropriate address (if any) to give to the client. The server then temporarily reserves that address for the client and sends back to the client an
OFFER (or DHCPOFFER) packet, with that address information. The server also configures the client's DNS servers, WINS servers, NTP servers, and sometimes other services as well.

The client sends a REQUEST (or DHCPREQUEST) packet, letting the server know that it intends to use the address.

The server sends an ACK (or DHCPACK) packet, confirming that the client has a been given a lease on the address for a server-specified period of time.

DNS :Domain Name System (DNS) is a database system that translates a computer's fully qualified domain name into an IP address.

19. IIS Host headers
A host header is a string part of the request sent to the web server (it is in the HTTP header). This means that configuring IIS to use host headers is only one step in the approach to host multiple websites using host headers to distinguish between the websites. A configuration of the DNS server (usually means that you need to add an (A) record for the domain) is also required, so the client can find the web server.

IIS host header is used to configure multiple website with the same port no for ex: http used 80 and single IP address.

20. IIS FrontPage extensions?
IIS Front page extension is a service used to directly edit our web pages present in the home directory, With the help of separate user credentials or ftp user.

21. IIS http.sys ?
IIS 6.0 introduces a new kernel mode driver, called HTTP.SYS, which is integrated directly into the Windows Transmission Control Protocol/Internet Protocol (TCP/IP) stack. Its purpose is to route website requests through to web application pools. In IIS 5.0, this task was performed by the Inetinfo.exe process.
Additionally, HTTP.SYS maintains a cache that can be used to serve requests for content without having to switch out of kernel mode.

22. IIS Port numbers?
 
·                80 is the default port for HTTP traffic
·                21 is the default port for FTP for sending and receiving data.
·                443 is the default for SSL traffic

You can however use any available port to listen and send on

23. IIS backup/restore?
IIS 6.0 will backup it's content automatically and it also manually by accessing Inetmgr--> right click the IISserver--> All tasks backup/restore-->create backup-->filename with designation. The same is to be followed to restore the backup.

24. IIS logfile formats ?
Ø              In IIS 6.0  logfile formats are  is 4 types
·                w3c extended logfile format
·                Microsoft IIS logfile format
·                NCSA Comman logfile format
·                ODBC loging

25. IIS services ?
 
·                ->Internet Information
·                ->IIS Admin Server Service and WWW service
 
26. Where are the IIS log files stored?
Ø              ->To determine where your IIS log files are stored, please execute the steps below on your server: 

·                Go to Start -> run type Inetmgr
·                Find your web site under the tree on the left and right-click on it.
·                Choose properties
·                On the Web Site tab, you should see an option near the bottom that says "Active Log Format."  Next to  
·                it is a Properties button.
·                Click on the Properties button.

·                At the bottom of the General Properties tab, you'll see a box that contains the log file directory and the log file name.  The full log path is comprised of the log file directory plus the first part of the log file name.  For example, take the following case.

·                Log file directory: C:\Windows\System32\LogFiles

·                Log file name: W3SVC1\exyymmdd.log

·                Your full log path to put into SmarterStats would be: C:\Windows\System32\LogFiles\W3SVC1
           in system32
 
27. IIS metabase ?
 
IIS metabase is an xml file the contains all the configutations
 
28. How a web service is exposed to outside world ?
·                Generate WSDL files from the existing components
·                Deploy the web service
·                Publish the web service in the UDDI directory

29. Advantages in IIS 6.0?

The advantages of upgrading the server that hosts your existing IIS Web sites and applications to IIS 6.0 include the following:

• Reduces the time required to deploy IIS 6.0. Upgrading requires minimal user interaction.

• Reduces possible configuration errors. Because the majority of the current operating system, IIS, and Web site configuration settings are retained during upgrade, fewer configuration errors result.

The disadvantages of upgrading the server that hosts your existing IIS Web sites and applications to IIS 6.0 include the following:

• Retains previous versions of software. The upgrade process upgrades only software components identified by Microsoft® Windows® Server 2003, Standard Edition; Windows® Server 2003, Enterprise Edition; and Windows® Server 2003,Web Edition. Any other installed software components, such
as applications or application dynamic-link libraries (DLLs), remain unchanged.

• Retains the previous registry configuration. The upgrade process makes the appropriate modifications to the registry entries identified by Windows Server 2003. Registry entries are created by an application as it is installed, but are not removed when the application is removed. Cumulatively, these registry entries consume disk storage and can make troubleshooting registry-related problems more difficult because the unused registry entries can have similar naming conventions to active registry entries.
 
You can create multiple websites in IIS6 compared to
IIS5.x .In IIS5.x, we can create only one website and under
the website, multiple virtual directories.
 
30. How to configure the sites in Web server (IIS)?
o                     open the IIS Manager
o                     Right click on default website
o                     Go to New and click on website 
o                     Give website location and follow the wizard to complete the configuring site.
 
 
·                Go to IIS..
·                Go to Default Website..
·                right click and create new alias name for our application...
·                browse our project on the server..
·                next....next ..finish
·                right click on created alias name then go to documents..
-                       select our default.aspx page....
·                apply..finish
·                browse,,
·                site is configured

31. IIS WEB GARDENS?
When two or more worker processes are configured as part of an application pool they form what is referred to as a Web garden. A Web garden allows an application to achieve higher scalability.
 
32. About stateless and state full web service ?
·                Stateless -SAO(Client activated object(using single call singleton)
·                Statefull  -CAO(Client use proxy server to send to the server)
 
·                stateless--->It dosen't keep data in memory
·                if state means session expires data will not update to backend
·                statefull----->vis-vers of stateless

33. How to register a shared assembly ?
Ø              To work with .Net commands directly in Command prompt, we have to set the path as below:

·                Right Click on ?My Computer? and go to ?Properties?
Ø              in the Context Menu.
·                In the system properties, go to Advanced Tab
·                Click on the Button ?Environment Variables?. In the System Variables, double click Path and a popup with Edit System Variables will appear. In the variable value: include the path as below:
;C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727;C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\Bin

The above paths where the .net tools (sn.exe, gacutil.dll) all are found.

Ø              To generate Strong Name Key:

Example:

·                Create an folder GACKey in C:
·                Open Command Prompt.
·                Create SN key as below
·                C:\>sn ?k SampleKey.snk
·                Now if the key was successfully generated, then command like ?key pair written to  
o                     SampleKey.snk? will be displayed.
·                You can find the key in C:\GACKey\SampleKey.snk

Ø              Create an assembly:
              
·                Open Class file in a project
·                Include some methods like below:


public string HelloWorld()
 {
        return "Hello World";
 }
3)             Before Class, after importing namespaces, include
the following assembly info:
using System.Reflection;
[assembly: AssemblyKeyFile("C:\\GACKey\\SampleKey.snk")]
[assembly: AssemblyVersion("1.0.0")]
·                Build the application as Ctrl+ Shift + B
·                Dll for the assembly will be created as ?App_Code.gb4sj5sd.dll? as the assembly is placed in
App_Code C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\exassembly\59f52ba2\a8d76ba5

Ø              To Install Assembly in GAC using GAC Util component:

·                Open command prompt
·                Type the following command:
C:\>gacutil -I ?C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\exassembly\59f52ba2\a8d76ba5\App_Code.gb4sj5sd.dll?

Ø              The above after gacutil ?I is the path where assembly dll is created.


Ø              Register assembly entry in registry:

·                Click Start - run, then type regedit to open registry;
Ø            Go to
               HEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\AssemblyFolders\;
·                 Right click AssemblyFolders, then select new to create a new key for your assembly(for  example:
              MyTestAssembly);
·                Select Modify by right clicking Default, then enter the location where your dll resides.

            Ex:  C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\TemporaryASP.NETFiles\exassembly\59f52ba2\a8d76ba5

·                 Restart the VS.NET application. (Ctrl + Shift + F5)

·                 Add project reference and in .NET Tab reference list, you will see the assembly (App_Code.gb4sj5sd i.e.dll name) added to GAC.

·                 Create instance to the class in assembly and can access its methods.
 
34. Which namespace is used for encryption ?
    System.Security.Cryptography

35. How do you send an XML document from client to server ?
SOAP, the Simple Object Access Protocol, is an evolving W3C standard developed by representatives of IBM, Microsoft,DevelopMentor, and UserLand Software for the exchange of information over a network. As more SOAP servers become publicly available on the Web, SOAP is doing for programs
written in nearly any language -- even short little programs written in popular, simple languages like Visual Basic,JavaScript, and perl -- what HTML does for Web browsers: Itgives them a simple way to take advantage of an increasing number of information sources becoming available over the Web.

Like HTML, SOAP provides a set of tags to indicate the roles of different pieces of information being sent over the Web using the HTTP transport protocol (and since SOAP 1.1, SMTP as well). SOAP, however, gives you much more power than HTML. With SOAP, your program sends a "SOAP request" (a short XML document that describes a method to invoke on a remote machine and any parameters to pass to it) to a SOAP server. The SOAP server will try to execute that method with those parameters and send a SOAP response back to your program. The response is either the result of the execution
or the appropriate error message. Public SOAP servers are available to provide stock prices, the latest currency conversion rates, FedEx package tracking information,solutions to algebraic expressions, and all kinds of information to any SOAP client that asks.

Before SOAP existed, programs trying to use this kind of information had to pull down Web pages and "scrape" the HTML to look for the appropriate text. A visual redesign of those Web pages (for example, putting the current stock price in a table's third column instead of its second column) was all it took to render these programs useless. The SOAP spec,along with its brief accompanying schemas for SOAP requests and responses, provides the framework for a contract between clients and servers that creates a foundation for much more robust information-gathering tools.
 
 

 

 
 

 

 


 

 

 


 

 
 
 
 
 
 
 
 
 
 
 
 


No comments: