<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-8251212359688996660</id><updated>2013-03-21T15:07:42.315+05:30</updated><category term='Application Domain'/><category term='IIS 7.0'/><category term='inproc'/><category term='Exit USA'/><category term='Wfetch'/><category term='2011'/><category term='Error Codes'/><category term='Troubleshooting'/><category term='IIS 70'/><category term='ISAPI Filter'/><category term='Tips'/><category term='Hp'/><category term='IIS Connection'/><category term='7.5'/><category term='Interview'/><category term='Adplus'/><category term='out proc'/><category term='application pool'/><category term='snapshots'/><category term='dedicated ip'/><category term='IIS 6.0'/><category term='2.0'/><category term='Clustering'/><category term='metabase'/><category term='Host header'/><category term='asp.net'/><category term='Host Multiple websites'/><category term='worker process'/><category term='performance'/><category term='session state'/><category term='Status Code'/><category term='IIS tool'/><category term='web garden'/><category term='USA travel Tips'/><category term='Mphasis'/><category term='SSL certificate'/><category term='backup'/><title type='text'>IIS Admin's - An IIS Admins Tool box !</title><subtitle type='html'>This Blog indexes all the basic resources needed for a IIS webserver administrator,Find updated IIS admin Interview questions here and some useful topics related to IIS 6.0,5.0,7.0</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://iisadmins.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8251212359688996660/posts/default'/><link rel='alternate' type='text/html' href='http://iisadmins.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/8251212359688996660/posts/default?start-index=26&amp;max-results=25'/><author><name>Jawahar Adityan</name><uri>https://plus.google.com/111255894595346601465</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-2YAc3s1Mnh0/AAAAAAAAAAI/AAAAAAAAHW0/5JUOixENRos/s512-c/photo.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>28</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-8251212359688996660.post-4766932872556510888</id><published>2012-09-12T11:44:00.003+05:30</published><updated>2012-09-12T12:05:46.913+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Interview'/><category scheme='http://www.blogger.com/atom/ns#' term='IIS 7.0'/><title type='text'>IIS and .NET 2.0 interview questions</title><content type='html'>&lt;br /&gt;&lt;div mce_keep="true" style="background-color: white; border: 0px; color: #67747a; font-family: Tahoma, 'Helvetica Neue', Arial, Helvetica, sans-serif; font-size: 13px; line-height: 20px; margin-bottom: 13px; outline: 0px; padding: 0px; vertical-align: baseline;"&gt;: This is meant for a 'systems' or 'itpro' type person and not necessarily a developer type individual.&lt;/div&gt;&lt;div mce_keep="true" style="background-color: white; border: 0px; color: #67747a; font-family: Tahoma, 'Helvetica Neue', Arial, Helvetica, sans-serif; font-size: 13px; line-height: 20px; margin-bottom: 13px; outline: 0px; padding: 0px; vertical-align: baseline;"&gt;&lt;strong style="border: 0px; font-family: inherit; font-style: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;"&gt;General IIS related questions&lt;/strong&gt;&lt;/div&gt;&lt;ul style="background-color: white; border: 0px; list-style-image: initial; list-style-position: initial; margin: 20px; outline: 0px; padding: 0px; vertical-align: baseline;"&gt;&lt;li style="border: 0px; color: #67747a; font-family: inherit; font-size: 13px; font-style: inherit; line-height: 20px; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;"&gt;&lt;div mce_keep="true" style="border: 0px; font-family: inherit; font-style: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;"&gt;How do you isolate and troubleshoot an ASP and / or ASP.NET application?&lt;br /&gt;&lt;b&gt;Isolate using Using Application pool and Troubleshoot using tools like iisapp,debug diagnostics,iisauth&lt;/b&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style="border: 0px; color: #67747a; font-family: inherit; font-size: 13px; font-style: inherit; line-height: 20px; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;"&gt;&lt;div mce_keep="true" style="border: 0px; font-family: inherit; font-style: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;"&gt;What is your idea of locking down a server?&lt;br /&gt;&lt;b&gt;Use&amp;nbsp;IIS Lockdown Tool to Turn off unnecessary features&lt;/b&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style="border: 0px; color: #67747a; font-family: inherit; font-size: 13px; font-style: inherit; line-height: 20px; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;"&gt;&lt;div mce_keep="true" style="border: 0px; font-family: inherit; font-style: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;"&gt;How do you feel about having developers or anyone else making changes directly in production?&amp;nbsp; Aka how do you normally handle change management.&lt;br /&gt;&lt;b&gt;Normally The developer Should not be given access to the Production server, The developer has to test the code in a PRE PROD,UAT or TEST environment to test the code ,upon successful testing a change should be raised to deploy the code in PROD environment&lt;/b&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style="border: 0px; color: #67747a; font-family: inherit; font-size: 13px; font-style: inherit; line-height: 20px; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;"&gt;&lt;div mce_keep="true" style="border: 0px; font-family: inherit; font-style: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;"&gt;What perfmon counters do you find useful in troubleshooting an IIS or related problem.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.microsoft.com/technet/prodtechnol/WindowsServer2003/Library/IIS/7898b860-462c-4846-a3a8-1179f287ad88.mspx?mfr=true" rel="nofollow" target="_blank"&gt;Check this&amp;nbsp;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style="border: 0px; color: #67747a; font-family: inherit; font-size: 13px; font-style: inherit; line-height: 20px; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;"&gt;&lt;div mce_keep="true" style="border: 0px; font-family: inherit; font-style: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;"&gt;Do you have experience in working with web-farms, load-balancing environments?&lt;br /&gt;&lt;b&gt;Webfarms - More than one&amp;nbsp; worker process&amp;nbsp;assigned to a application pool&lt;/b&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style="border: 0px; color: #67747a; font-family: inherit; font-size: 13px; font-style: inherit; line-height: 20px; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;"&gt;&lt;div mce_keep="true" style="border: 0px; font-family: inherit; font-style: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;"&gt;What is your ideal way of handling content.&amp;nbsp; Remote Storage / NAS (network attached storage) vs. local content and replication.&amp;nbsp; If you use local content and replication what tools do you to use?&lt;br /&gt;&lt;b&gt;FRS - File Replication Service&lt;/b&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style="border: 0px; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;"&gt;&lt;div mce_keep="true" style="border: 0px; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;"&gt;&lt;div style="color: #67747a; font-family: inherit; font-size: 13px; font-style: inherit; line-height: 20px;"&gt;Are you familiar with DFS?&lt;/div&gt;&lt;div style="color: #67747a; font-family: inherit; font-size: 13px; font-style: inherit; line-height: 20px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style="color: #67747a; font-family: Tahoma, Helvetica Neue, Arial, Helvetica, sans-serif; font-size: x-small;"&gt;&lt;span style="line-height: 20px;"&gt;&lt;b&gt;The Distributed File System (DFS) technologies offer wide area network (WAN)-friendly replication as well as simplified, highly available access to geographically dispersed files. In Windows Server® 2008, DFS is implemented as a role service of the File Services role. The Distributed File System role service consists of two child role services:&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #67747a; font-family: Tahoma, Helvetica Neue, Arial, Helvetica, sans-serif; font-size: x-small;"&gt;&lt;span style="line-height: 20px;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #67747a; font-family: Tahoma, Helvetica Neue, Arial, Helvetica, sans-serif; font-size: x-small;"&gt;&lt;span style="line-height: 20px;"&gt;&lt;b&gt;DFS Namespaces and&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;b style="background-color: white; color: #67747a; font-family: Tahoma, 'Helvetica Neue', Arial, Helvetica, sans-serif; font-size: small; line-height: 20px;"&gt;DFS Replication&lt;/b&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style="border: 0px; color: #67747a; font-family: inherit; font-size: 13px; font-style: inherit; line-height: 20px; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;"&gt;&lt;div mce_keep="true" style="border: 0px; font-family: inherit; font-style: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;"&gt;What debugging tools do you use for IIS?&lt;br /&gt;&lt;b&gt;Troubleshoot using tools like iisapp,debug diagnostics,iisauth&lt;/b&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style="border: 0px; color: #67747a; font-family: inherit; font-size: 13px; font-style: inherit; line-height: 20px; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;"&gt;&lt;div mce_keep="true" style="border: 0px; font-family: inherit; font-style: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;"&gt;What / Where would you put global .NET settings.&amp;nbsp; How would you lock them down?&lt;/div&gt;&lt;/li&gt;&lt;li style="border: 0px; color: #67747a; font-family: inherit; font-size: 13px; font-style: inherit; line-height: 20px; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;"&gt;&lt;div mce_keep="true" style="border: 0px; font-family: inherit; font-style: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;"&gt;Do you have any experience with SSL certificates?&lt;br /&gt;&lt;br /&gt;&lt;a href="http://support.microsoft.com/kb/299875" rel="nofollow" target="_blank"&gt;Check this SSL info&lt;/a&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style="border: 0px; color: #67747a; font-family: inherit; font-size: 13px; font-style: inherit; line-height: 20px; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;"&gt;&lt;div mce_keep="true" style="border: 0px; font-family: inherit; font-style: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;"&gt;Do you have experience with machines with multiple IP's and how to handle several sites / applications on a machine.&lt;/div&gt;&lt;/li&gt;&lt;li style="border: 0px; color: #67747a; font-family: inherit; font-size: 13px; font-style: inherit; line-height: 20px; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;"&gt;&lt;div mce_keep="true" style="border: 0px; font-family: inherit; font-style: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;"&gt;What is your preference of handling machine accounts?&amp;nbsp; Do you like local vs. Active Directory based accounts.&lt;/div&gt;&lt;/li&gt;&lt;li style="border: 0px; color: #67747a; font-family: inherit; font-size: 13px; font-style: inherit; line-height: 20px; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;"&gt;&lt;div mce_keep="true" style="border: 0px; font-family: inherit; font-style: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;"&gt;Do you have experience with working in an AD environment that supports IIS.&lt;/div&gt;&lt;/li&gt;&lt;li style="border: 0px; color: #67747a; font-family: inherit; font-size: 13px; font-style: inherit; line-height: 20px; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;"&gt;&lt;div mce_keep="true" style="border: 0px; font-family: inherit; font-style: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;"&gt;Do you have experience with NLB (network load balancing) that comes with IIS.&lt;br /&gt;&lt;b&gt;Server LAN properties&lt;/b&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style="border: 0px; color: #67747a; font-family: inherit; font-size: 13px; font-style: inherit; line-height: 20px; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;"&gt;&lt;div mce_keep="true" style="border: 0px; font-family: inherit; font-style: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;"&gt;How do you monitor the applications / sites to ensure the uptime is appropriate.&amp;nbsp; This might apply more to a monitoring environment, but it is good to know what to monitor.&lt;/div&gt;&lt;/li&gt;&lt;li style="border: 0px; color: #67747a; font-family: inherit; font-size: 13px; font-style: inherit; line-height: 20px; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;"&gt;&lt;div mce_keep="true" style="border: 0px; font-family: inherit; font-style: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;"&gt;Are you familiar with compression and the benefits.&lt;/div&gt;&lt;/li&gt;&lt;li style="border: 0px; color: #67747a; font-family: inherit; font-size: 13px; font-style: inherit; line-height: 20px; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;"&gt;&lt;div mce_keep="true" style="border: 0px; font-family: inherit; font-style: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;"&gt;Do you know what MIME types are for?&lt;br /&gt;&lt;b&gt;Map What file extensions should be handled by which application&lt;/b&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style="border: 0px; color: #67747a; font-family: inherit; font-size: 13px; font-style: inherit; line-height: 20px; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;"&gt;&lt;div mce_keep="true" style="border: 0px; font-family: inherit; font-style: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;"&gt;Do you know how to list all running applications on a server to determine which application pools are owned by what sites. (&lt;b&gt;IISAPP&lt;/b&gt;)&lt;/div&gt;&lt;/li&gt;&lt;li style="border: 0px; color: #67747a; font-family: inherit; font-size: 13px; font-style: inherit; line-height: 20px; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;"&gt;&lt;div mce_keep="true" style="border: 0px; font-family: inherit; font-style: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;"&gt;Are you familiar with IISState, IIS Debug Diag. SSL Diag, SMTPDiag in the resource kit.&lt;/div&gt;&lt;/li&gt;&lt;li style="border: 0px; color: #67747a; font-family: inherit; font-size: 13px; font-style: inherit; line-height: 20px; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;"&gt;&lt;div mce_keep="true" style="border: 0px; font-family: inherit; font-style: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;"&gt;What tools do you use or have experience in load-testing an application.&lt;/div&gt;&lt;/li&gt;&lt;li style="border: 0px; color: #67747a; font-family: inherit; font-size: 13px; font-style: inherit; line-height: 20px; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;"&gt;&lt;div mce_keep="true" style="border: 0px; font-family: inherit; font-style: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;"&gt;What are some of the tools provided by MS.&amp;nbsp; WCAT, TinyGet, WAST.&lt;br /&gt;--&lt;a href="http://blogs.iis.net/chrisad/archive/2006/07/19/WCAT_3A00_--Easy_2C00_-Magical_2C00_-Stress-Testing-for-IIS-Web-Applications.aspx" rel="nofollow" target="_blank"&gt;Check here&amp;nbsp;&lt;/a&gt;&amp;nbsp;- WCAT&lt;br /&gt;--- &lt;a href="http://support.microsoft.com/kb/840671#12" rel="nofollow" target="_blank"&gt;Check here&lt;/a&gt;&amp;nbsp;-&amp;nbsp;&lt;span style="background-color: white; font-family: inherit; font-style: inherit;"&gt;TinyGet and More&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style="border: 0px; color: #67747a; font-family: inherit; font-size: 13px; font-style: inherit; line-height: 20px; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;"&gt;&lt;div mce_keep="true" style="border: 0px; font-family: inherit; font-style: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;"&gt;Do you know how to configure host-headers and how they related to DNS.&lt;/div&gt;&lt;/li&gt;&lt;li style="border: 0px; color: #67747a; font-family: inherit; font-size: 13px; font-style: inherit; line-height: 20px; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;"&gt;&lt;div mce_keep="true" style="border: 0px; font-family: inherit; font-style: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;"&gt;What is your backup and recovery strategy for IIS&lt;/div&gt;&lt;/li&gt;&lt;li style="border: 0px; color: #67747a; font-family: inherit; font-size: 13px; font-style: inherit; line-height: 20px; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;"&gt;&lt;div mce_keep="true" style="border: 0px; font-family: inherit; font-style: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;"&gt;How would you handle migrating to another box?&lt;/div&gt;&lt;/li&gt;&lt;li style="border: 0px; color: #67747a; font-family: inherit; font-size: 13px; font-style: inherit; line-height: 20px; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;"&gt;&lt;div mce_keep="true" style="border: 0px; font-family: inherit; font-style: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;"&gt;How do you handle changes in IIS, scripting or manual changes?&lt;/div&gt;&lt;/li&gt;&lt;li style="border: 0px; color: #67747a; font-family: inherit; font-size: 13px; font-style: inherit; line-height: 20px; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;"&gt;&lt;div mce_keep="true" style="border: 0px; font-family: inherit; font-style: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;"&gt;Are you familiar with scripting languages such as VBScript, JScript, Powershell.&lt;/div&gt;&lt;/li&gt;&lt;li style="border: 0px; color: #67747a; font-family: inherit; font-size: 13px; font-style: inherit; line-height: 20px; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;"&gt;&lt;div mce_keep="true" style="border: 0px; font-family: inherit; font-style: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;"&gt;Are you familiar with IISCfg and related scripts such as adsutil&lt;/div&gt;&lt;/li&gt;&lt;li style="border: 0px; color: #67747a; font-family: inherit; font-size: 13px; font-style: inherit; line-height: 20px; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;"&gt;&lt;div mce_keep="true" style="border: 0px; font-family: inherit; font-style: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;"&gt;Do you have experience supporting multiple environments of IIS (different domains, dev / test /integration / production)&lt;/div&gt;&lt;/li&gt;&lt;li style="border: 0px; color: #67747a; font-family: inherit; font-size: 13px; font-style: inherit; line-height: 20px; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;"&gt;&lt;div mce_keep="true" style="border: 0px; font-family: inherit; font-style: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;"&gt;Are you familiar with ways to connect to remote databases such as db2, oracle, sql server&lt;/div&gt;&lt;/li&gt;&lt;li style="border: 0px; color: #67747a; font-family: inherit; font-size: 13px; font-style: inherit; line-height: 20px; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;"&gt;&lt;div mce_keep="true" style="border: 0px; font-family: inherit; font-style: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;"&gt;Do you know the differences between anonymous, integrated, basic, digest authentication.&lt;/div&gt;&lt;/li&gt;&lt;li style="border: 0px; color: #67747a; font-family: inherit; font-size: 13px; font-style: inherit; line-height: 20px; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;"&gt;&lt;div mce_keep="true" style="border: 0px; font-family: inherit; font-style: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;"&gt;What is your preferred method of publishing content?&amp;nbsp; FTP? FrontPage? WebDAV? Folder copy? Publish to a staging machine and replicate to the content source either on a nas or individual nodes.&lt;/div&gt;&lt;/li&gt;&lt;li style="border: 0px; color: #67747a; font-family: inherit; font-size: 13px; font-style: inherit; line-height: 20px; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;"&gt;&lt;div mce_keep="true" style="border: 0px; font-family: inherit; font-style: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;"&gt;Are you familiar with the other services in SMTP, FTP?&lt;/div&gt;&lt;/li&gt;&lt;li style="border: 0px; color: #67747a; font-family: inherit; font-size: 13px; font-style: inherit; line-height: 20px; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;"&gt;&lt;div mce_keep="true" style="border: 0px; font-family: inherit; font-style: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;"&gt;Do you know how to configure a smarthost?&lt;/div&gt;&lt;/li&gt;&lt;li style="border: 0px; color: #67747a; font-family: inherit; font-size: 13px; font-style: inherit; line-height: 20px; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;"&gt;&lt;div mce_keep="true" style="border: 0px; font-family: inherit; font-style: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;"&gt;Does the built-in FTP service support host-headers?&lt;/div&gt;&lt;/li&gt;&lt;li style="border: 0px; color: #67747a; font-family: inherit; font-size: 13px; font-style: inherit; line-height: 20px; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;"&gt;&lt;div mce_keep="true" style="border: 0px; font-family: inherit; font-style: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;"&gt;Do you know the benefits of using a COM+ package vs. Regsvr32&lt;/div&gt;&lt;/li&gt;&lt;li style="border: 0px; color: #67747a; font-family: inherit; font-size: 13px; font-style: inherit; line-height: 20px; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;"&gt;&lt;div mce_keep="true" style="border: 0px; font-family: inherit; font-style: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;"&gt;What certain local group is necessary if it is configured as a application pool user.&lt;/div&gt;&lt;/li&gt;&lt;li style="border: 0px; color: #67747a; font-family: inherit; font-size: 13px; font-style: inherit; line-height: 20px; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;"&gt;&lt;div mce_keep="true" style="border: 0px; font-family: inherit; font-style: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;"&gt;Do you know how to check a COM+ component to ensure it will not leak memory.&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div mce_keep="true" style="background-color: white; border: 0px; color: #67747a; font-family: Tahoma, 'Helvetica Neue', Arial, Helvetica, sans-serif; font-size: 13px; line-height: 20px; margin-bottom: 13px; outline: 0px; padding: 0px; vertical-align: baseline;"&gt;&lt;strong style="border: 0px; font-family: inherit; font-style: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;"&gt;.NET 2.0&lt;/strong&gt;&lt;/div&gt;&lt;ul style="background-color: white; border: 0px; color: #67747a; font-family: Tahoma, 'Helvetica Neue', Arial, Helvetica, sans-serif; font-size: 13px; line-height: 20px; list-style-image: initial; list-style-position: initial; margin: 20px; outline: 0px; padding: 0px; vertical-align: baseline;"&gt;&lt;li style="border: 0px; font-family: inherit; font-style: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;"&gt;&lt;div mce_keep="true" style="border: 0px; font-family: inherit; font-style: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;"&gt;Can you run the 1.1 and 2.0 on the same box?&amp;nbsp; What are the limitations.&lt;/div&gt;&lt;/li&gt;&lt;li style="border: 0px; font-family: inherit; font-style: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;"&gt;&lt;div mce_keep="true" style="border: 0px; font-family: inherit; font-style: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;"&gt;Can you explain what the '/bin'&amp;nbsp; folder is used for.&lt;/div&gt;&lt;/li&gt;&lt;li style="border: 0px; font-family: inherit; font-style: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;"&gt;&lt;div mce_keep="true" style="border: 0px; font-family: inherit; font-style: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;"&gt;Do you know what user instancing is.&lt;/div&gt;&lt;/li&gt;&lt;li style="border: 0px; font-family: inherit; font-style: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;"&gt;&lt;div mce_keep="true" style="border: 0px; font-family: inherit; font-style: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;"&gt;Do you know the difference between precompiled applications and publishing the source code.&lt;/div&gt;&lt;/li&gt;&lt;li style="border: 0px; font-family: inherit; font-style: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;"&gt;&lt;div mce_keep="true" style="border: 0px; font-family: inherit; font-style: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;"&gt;Do you have any experience with partial trust or CAS (code access security)&lt;/div&gt;&lt;/li&gt;&lt;li style="border: 0px; font-family: inherit; font-style: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;"&gt;&lt;div mce_keep="true" style="border: 0px; font-family: inherit; font-style: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;"&gt;What types of things cause an appdomain or application pool recycle.&lt;/div&gt;&lt;/li&gt;&lt;li style="border: 0px; font-family: inherit; font-style: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;"&gt;&lt;div mce_keep="true" style="border: 0px; font-family: inherit; font-style: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;"&gt;What are the new folders in .NET 2.0 and what are they used for.&lt;/div&gt;&lt;/li&gt;&lt;li style="border: 0px; font-family: inherit; font-style: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;"&gt;&lt;div mce_keep="true" style="border: 0px; font-family: inherit; font-style: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;"&gt;How / why does the machine key need to be the same across all machines in a web-farm.&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div mce_keep="true" style="background-color: white; border: 0px; color: #67747a; font-family: Tahoma, 'Helvetica Neue', Arial, Helvetica, sans-serif; font-size: 13px; line-height: 20px; margin-bottom: 13px; outline: 0px; padding: 0px; vertical-align: baseline;"&gt;&lt;strong style="border: 0px; font-family: inherit; font-style: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;"&gt;IIS7&lt;/strong&gt;&lt;/div&gt;&lt;ul style="background-color: white; border: 0px; color: #67747a; font-family: Tahoma, 'Helvetica Neue', Arial, Helvetica, sans-serif; font-size: 13px; line-height: 20px; list-style-image: initial; list-style-position: initial; margin: 20px; outline: 0px; padding: 0px; vertical-align: baseline;"&gt;&lt;li style="border: 0px; font-family: inherit; font-style: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;"&gt;&lt;div mce_keep="true" style="border: 0px; font-family: inherit; font-style: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;"&gt;What makes the IUSR account unique in IIS7 vs. previous versions.&lt;/div&gt;&lt;/li&gt;&lt;li style="border: 0px; font-family: inherit; font-style: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;"&gt;&lt;div mce_keep="true" style="border: 0px; font-family: inherit; font-style: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;"&gt;What are some of the new ways of troubleshooting, Logging in IIS7&lt;/div&gt;&lt;/li&gt;&lt;li style="border: 0px; font-family: inherit; font-style: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;"&gt;&lt;div mce_keep="true" style="border: 0px; font-family: inherit; font-style: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;"&gt;What are the major benefits of IIS7?&amp;nbsp; (FREB, Integrated Pipeline, IUSR same on all w2k8 boxes, Shared configuration, Modular architecture, configuration changes&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;</content><link rel='replies' type='application/atom+xml' href='http://iisadmins.blogspot.com/feeds/4766932872556510888/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://iisadmins.blogspot.com/2012/09/iis-and-net-20-interview-questions.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8251212359688996660/posts/default/4766932872556510888'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8251212359688996660/posts/default/4766932872556510888'/><link rel='alternate' type='text/html' href='http://iisadmins.blogspot.com/2012/09/iis-and-net-20-interview-questions.html' title='IIS and .NET 2.0 interview questions'/><author><name>Jawahar Adityan</name><uri>https://plus.google.com/111255894595346601465</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-2YAc3s1Mnh0/AAAAAAAAAAI/AAAAAAAAHW0/5JUOixENRos/s512-c/photo.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8251212359688996660.post-6048100950151379362</id><published>2012-09-12T11:29:00.002+05:30</published><updated>2012-09-12T11:30:29.450+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='IIS 6.0'/><category scheme='http://www.blogger.com/atom/ns#' term='7.5'/><category scheme='http://www.blogger.com/atom/ns#' term='IIS 7.0'/><category scheme='http://www.blogger.com/atom/ns#' term='IIS 70'/><title type='text'>Differences Between IIS 6 and IIS 70 and 7.5</title><content type='html'>&lt;br /&gt;&lt;div class="post-body entry-content" id="post-body-8638203886684727329" style="background-color: white; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 15px; line-height: 1.4; position: relative; width: 727px;"&gt;The concepts in both IIS versions are generally the same with the exception of WAS introduced in&lt;br /&gt;IIS 7+.&lt;span style="background-color: white; line-height: 1.4;"&gt;With reference to the following diagrams, the class/ object denoted in Green (Http.sys) runs in&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: white; line-height: 1.4;"&gt;Kernel mode while the rest run in User mode.&lt;/span&gt;&lt;br /&gt;&lt;h4 style="margin: 0px; position: relative;"&gt;IIS 6&lt;/h4&gt;The concepts are denoted in the following UML Class diagram:&lt;br /&gt;&lt;a href="http://lh4.ggpht.com/-wPyey--Gdtk/TlPrrrNiDcI/AAAAAAAAAKI/JZTmgXycUnY/s1600-h/image%25255B5%25255D.png" style="color: #9966cc; text-decoration: none;" target="_blank"&gt;&lt;img alt="image" border="0" height="314" src="http://lh5.ggpht.com/-PA5LvIVJ2K4/TlPrsUFAlgI/AAAAAAAAAKM/2EsZIjemLWE/image_thumb%25255B4%25255D.png?imgmax=800" style="background-image: none; border: 0px; display: inline; padding-left: 0px; padding-right: 0px; padding-top: 0px; position: relative;" title="image" width="526" /&gt;&lt;/a&gt;&lt;br /&gt;The delegation model is captured in the following UML Sequence diagram:&lt;br /&gt;&lt;a href="http://lh5.ggpht.com/-n_7ZXAsn8F4/TlSIYq423lI/AAAAAAAAAKQ/33f1aPeptgE/s1600-h/image1%25255B4%25255D.png" style="color: #9966cc; text-decoration: none;" target="_blank"&gt;&lt;img alt="image" border="0" height="332" src="http://lh5.ggpht.com/-Xfso6ywbyRY/TlSIZ_M5VFI/AAAAAAAAAKU/shie6Ak6Egw/image1_thumb%25255B3%25255D.png?imgmax=800" style="background-image: none; border: 0px; display: inline; padding-left: 0px; padding-right: 0px; padding-top: 0px; position: relative;" title="image" width="640" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;h4 style="margin: 0px; position: relative;"&gt;IIS 7&lt;/h4&gt;The concepts are denoted in the following UML Class diagram:&lt;br /&gt;&lt;a href="http://lh3.ggpht.com/-B2JPIKBxRqE/TlPrugWpREI/AAAAAAAAAKY/ib_t3ynemeI/s1600-h/image6%25255B4%25255D.png" style="color: #9966cc; text-decoration: none;" target="_blank"&gt;&lt;img alt="image" border="0" height="401" src="http://lh6.ggpht.com/-OHIWqhGib0Y/TlPrvYTxAgI/AAAAAAAAAKc/-uSDjd_ZBOU/image6_thumb%25255B3%25255D.png?imgmax=800" style="background-image: none; border: 0px; display: inline; padding-left: 0px; padding-right: 0px; padding-top: 0px; position: relative;" title="image" width="525" /&gt;&lt;/a&gt;&lt;br /&gt;The delegation model is captured in the following UML Sequence diagram:&lt;br /&gt;&lt;a href="http://lh6.ggpht.com/--96OeE8FhTU/TlSIa8YyJ4I/AAAAAAAAAKg/FrdK3bGebj0/s1600-h/image5%25255B4%25255D.png" style="color: #9966cc; text-decoration: none;" target="_blank"&gt;&lt;img alt="image" border="0" height="398" src="http://lh4.ggpht.com/-vtOCwDKseHM/TlSIcA2Xv0I/AAAAAAAAAKk/23nfcuxlrBE/image5_thumb%25255B3%25255D.png?imgmax=800" style="background-image: none; border: 0px; display: inline; padding-left: 0px; padding-right: 0px; padding-top: 0px; position: relative;" title="image" width="640" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div style="clear: both;"&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="post-footer" style="background-color: white; color: #999999; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 14px; line-height: 1.6; margin: 0.5em 0px 0px;"&gt;&lt;div class="post-footer-line post-footer-line-1"&gt;THanks&amp;nbsp;&lt;a href="http://softwarehard.blogspot.in/" style="line-height: 1.6;"&gt;http://softwarehard.blogspot.in&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://iisadmins.blogspot.com/feeds/6048100950151379362/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://iisadmins.blogspot.com/2012/09/differences-between-iis-6-and-iis-70.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8251212359688996660/posts/default/6048100950151379362'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8251212359688996660/posts/default/6048100950151379362'/><link rel='alternate' type='text/html' href='http://iisadmins.blogspot.com/2012/09/differences-between-iis-6-and-iis-70.html' title='Differences Between IIS 6 and IIS 70 and 7.5'/><author><name>Jawahar Adityan</name><uri>https://plus.google.com/111255894595346601465</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-2YAc3s1Mnh0/AAAAAAAAAAI/AAAAAAAAHW0/5JUOixENRos/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh5.ggpht.com/-PA5LvIVJ2K4/TlPrsUFAlgI/AAAAAAAAAKM/2EsZIjemLWE/s72-c/image_thumb%25255B4%25255D.png?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8251212359688996660.post-1013952335241712018</id><published>2012-09-12T11:04:00.000+05:30</published><updated>2012-09-12T11:04:37.113+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Interview'/><category scheme='http://www.blogger.com/atom/ns#' term='IIS 7.0'/><title type='text'>What are the new features in IIS7?</title><content type='html'>&lt;span style="font-family: Verdana, Arial, Helvetica, sans-serif;"&gt;1. Simple, Configurable Command Line Setup&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px;"&gt;&amp;nbsp;· Install only the IIS components needed to run your site&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px;"&gt;Example: start /w pkgmgr /l:log.etw /iu:IIS-WebServerRole;IIS-WebServer;IIS-CommonHttpFeatures;IIS-StaticContent;IIS-DefaultDocument;IIS-DirectoryBrowsing;IIS-HttpErrors;IIS-HttpRedirect;IIS-ApplicationDevelopment;IIS-ASPNET;IIS-NetFxExtensibility;IIS-ASP;IIS-ISAPIExtensions;IIS-ISAPIFilter;IIS-ServerSideIncludes;IIS-HealthAndDiagnostics;IIS-HttpLogging;IIS-LoggingLibraries;IIS-RequestMonitor;IIS-HttpTracing;IIS-Security;IIS-ClientCertificateMappingAuthentication;IIS-IISCertificateMappingAuthentication;IIS-RequestFiltering;IIS-IPSecurity;IIS-Performance;IIS-HttpCompressionStatic;IIS-HttpCompressionDynamic;IIS-WebServerManagementTools;IIS-ManagementConsole;IIS-ManagementScriptingTools;IIS-ManagementService;IIS-IIS6ManagementCompatibility;IIS-Metabase;IIS-WMICompatibility;IIS-LegacyScripts;IIS-LegacySnapIn;WAS-WindowsActivationService;WAS-ProcessModel;WAS-NetFxEnvironment;WAS-ConfigurationAPI&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: Verdana, Arial, Helvetica, sans-serif;"&gt;2. Great Compatibility Story ·&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px;"&gt;Most (99%+) ASP and ASP.NET applications just worked.&lt;/span&gt;&lt;br style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px;" /&gt;&lt;span style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px;"&gt;ü One application encountered breaking change ü Handful of applications required config migration to run in Integrated (We have about 260 applications running on www.microsoft.com as defined by IIS, there are thousands of pages of code that could have broken but didn’t.)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px;"&gt;&amp;nbsp;· Integrated Pipeline is the new unified request processing pipeline. Benefits include: ü Allowing services provided by both native and managed modules to apply to all requests, regardless of handler. For example, managed Forms Authentication can be used for all content, including ASP pages, CGIs, and static files. ü Empowering ASP.NET components to provide functionality that was previously unavailable to them due to their placement in the server pipeline. For example, a managed module providing request rewriting functionality can rewrite the request prior to any server processing, including authentication, takes place. ü A single place to implement, configure, monitor and support server features. For example, single module and handler mapping configuration, single custom errors configuration, single url authorization configuration.&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px;"&gt;· Classic ASP mode allows for easy app migration ü ASP.NET Setup provides a “Classic .NET AppPool” ü For more information on check out the article ASP.Net Integration With IIS7 · Use AppCmd to migrate apps to Integrated mode ü %windir%\system32\inetsrv\APPCMD.EXE migrate config &lt;application path="path"&gt; ü&lt;/application&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px;"&gt;&amp;nbsp;For more information about AppCmd.exe see Getting Started With AppCmd.exe · IIS 6.0 Metabase compatibility layer ü Allows you the run old ADSI scripts ü IIS6.0 Metabase Compatibility module must be installed&lt;/span&gt;&lt;br style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px;" /&gt;&lt;span style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Verdana, Arial, Helvetica, sans-serif;"&gt;3. No More Metabase!&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px;"&gt;· Clean clear-text schema · IIS settings stored in XML configuration file (applicationHost.config) ü Metabase exists for SMTP/NNTP/FTP only&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px;"&gt;&amp;nbsp;· Site-wide changes made easily ü Update central applicationHost.config and copy to all web servers ü Replaces our bulky ADSI based script solution for metabase changes&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px;"&gt;· Microsoft.com considerations ü Careful copying to production servers under load: (Know Thy Environment! When you push out a new applicationHost.config those affected worker process need to reload the new configuration. It comes down to the scope of the change. For example, if you are making a global change that that affectes all the worker processes, and you are heavily dependent on caching then you could cause some grief in your environment as those new configurations are reloaded by the worker processes.)&lt;/span&gt;&lt;br style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px;" /&gt;&lt;span style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Verdana, Arial, Helvetica, sans-serif;"&gt;4. Centralized Configuration&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px;"&gt;&amp;nbsp;· applicationHost.config stored on UNC share&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px;"&gt;· Allows us to copy to two (maybe four) servers rather than 80 ü Potential gotcha - managing password changes for account used to connect to config store (This is because that currently you cannot use the UNC share that is running under the Network service, which we use heavily. It currently requires a domain account, which our security policy mandates a periodic password change.)&lt;/span&gt;&lt;br style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px;" /&gt;&lt;span style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Verdana, Arial, Helvetica, sans-serif;"&gt;5. Delegated Configuration&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px;"&gt;· Admin can now delegate IIS settings to application owner · Settings defined in web.config file in application directory · Example of setting to delegate include: ü System.webServer section of applicationHost.config ü Caching, defaultDocument, httpErrors, security&lt;/span&gt;&lt;br style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px;" /&gt;&lt;span style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Verdana, Arial, Helvetica, sans-serif;"&gt;6. AppCmd and Othe&lt;/span&gt;&lt;span style="font-family: Verdana, Arial, Helvetica, sans-serif;"&gt;r New Management Options&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px;"&gt;&amp;nbsp;· Managing via the UI ü New modular, task-based look and feel ü Moving away from the right-click/properties paradigm · Managing via the Command Line ü AppCmd § Command line utility which replaces adsutil.vbs, iisapp.vbs, and others § Allows command line management of sites, applications, vdirs, apppools, modules, tracing, and more ü Powershell § IIS community creating IIS-specific Powershell cmdlets · MSCOM Considerations ü AppCmd limitations – no remote ü No IIS provider for Powershell&lt;/span&gt;&lt;br style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px;" /&gt;&lt;span style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Verdana, Arial, Helvetica, sans-serif;"&gt;7. Failed Request Tracing&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px;"&gt;· Buffers the trace events for requests and flushes them to disk if they meet your failure criteria · Captures trace data while you’re sleeping · Very little perf impact when targeting failing requests · Quick test: Enabling tracing for all file extensions and errors results in approx 5% fewer requests/sec at full stress load (please don’t do this in production) · View Currently Executing Requests via AppCmd ü appcmd list requests (for all request) ü appcmd list requests /apppool.name:DefaultAppPool REQUEST "3e00000080012675" (url:GET /casestudies/casestudy.aspx?casestudyid=201269, time:2954 msec, client:127.0.0.1) · New Task Scheduler ü Trigger tasks on events&lt;/span&gt;&lt;br style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px;" /&gt;&lt;span style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Verdana, Arial, Helvetica, sans-serif;"&gt;8. Request Filtering&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px;"&gt;· No more URLScan · settings in applicationHost.config · Gotcha for Microsoft.com: If filename includes “+” then allowDoubleEscaping must be set to “true” ü&amp;nbsp;&lt;/span&gt;&lt;requestfiltering allowdoubleescaping="true" style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px;"&gt;· Allow or disallow specific file extensions and verbs ü&amp;nbsp;&lt;add allowed="false" fileextension=".exe"&gt;· DenyURLSequences ü&amp;nbsp;&lt;add sequence="./"&gt;ü&amp;nbsp;&lt;add sequence="/."&gt;· RequestLimits ü maxAllowedContentLength="1000000“ ü maxUrl="260“ ü maxQueryString="2048" 9. UNC Content · Simplified content synchronization · Reduced H/W footprint (potentially less cost) ü Common industry pain point 10. Output Caching of Dynamic Content · Fewer off-box calls to backend dependencies · Significant performance gains · Simple WCAT (Web Capacity Analysis Tool) Stress Test against www.microsoft.com/en/us/default.aspx Not appropriate for all applications (e.g. not effective for those with very personalized output)&lt;/add&gt;&lt;/add&gt;&lt;/add&gt;&lt;/requestfiltering&gt;</content><link rel='replies' type='application/atom+xml' href='http://iisadmins.blogspot.com/feeds/1013952335241712018/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://iisadmins.blogspot.com/2012/09/what-are-new-features-in-iis7.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8251212359688996660/posts/default/1013952335241712018'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8251212359688996660/posts/default/1013952335241712018'/><link rel='alternate' type='text/html' href='http://iisadmins.blogspot.com/2012/09/what-are-new-features-in-iis7.html' title='What are the new features in IIS7?'/><author><name>Jawahar Adityan</name><uri>https://plus.google.com/111255894595346601465</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-2YAc3s1Mnh0/AAAAAAAAAAI/AAAAAAAAHW0/5JUOixENRos/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8251212359688996660.post-201511537984291401</id><published>2012-09-12T10:58:00.007+05:30</published><updated>2012-09-12T10:58:44.046+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='IIS 6.0'/><category scheme='http://www.blogger.com/atom/ns#' term='Interview'/><title type='text'>IIS Interview Questions And Answers</title><content type='html'>&lt;br /&gt;&lt;div id="post-body-7000694970977534176" style="background-color: white; color: #2c2b2b; font-family: arial; font-size: 12px; line-height: 18px;"&gt;&lt;strong&gt;1. In which process does IIS runs (was asking about the EXE file)&lt;/strong&gt;&lt;/div&gt;&lt;div style="background-color: white; color: #2c2b2b; font-family: arial; font-size: 12px; line-height: 18px; padding-left: 30px;"&gt;inetinfo.exe is the Microsoft IIS server running, handling ASP.NET requests among other things. When an ASP.NET request is received (usually a file with .aspx extension), the ISAPI filter aspnet_isapi.dll takes care of it by passing the request to the actual worker process aspnet_wp.exe.&lt;/div&gt;&lt;div style="background-color: white; color: #2c2b2b; font-family: arial; font-size: 12px; line-height: 18px;"&gt;&lt;strong&gt;2. Where are the IIS log files stored?&lt;/strong&gt;&lt;/div&gt;&lt;div style="background-color: white; color: #2c2b2b; font-family: arial; font-size: 12px; line-height: 18px; padding-left: 30px;"&gt;C:WINDOWSsystem32LogfilesW3SVC1&lt;br /&gt;OR&lt;br /&gt;c:winntsystem32LogFilesW3SVC1&lt;/div&gt;&lt;div style="background-color: white; color: #2c2b2b; font-family: arial; font-size: 12px; line-height: 18px;"&gt;&lt;strong&gt;3. What are the different IIS authentication modes in IIS 5.0 and Explain? Difference between basic and digest authentication modes?&lt;/strong&gt;&lt;/div&gt;&lt;div style="background-color: white; color: #2c2b2b; font-family: arial; font-size: 12px; line-height: 18px;"&gt;&lt;strong&gt;IIS provides a variety of authentication schemes:&lt;/strong&gt;&lt;/div&gt;&lt;div style="background-color: white; color: #2c2b2b; font-family: arial; font-size: 12px; line-height: 18px; padding-left: 30px;"&gt;• Anonymous (enabled by default)&lt;br /&gt;• Basic&lt;br /&gt;• Digest&lt;br /&gt;• Integrated Windows authentication (enabled by default)&lt;br /&gt;• Client Certificate Mapping&lt;/div&gt;&lt;div style="background-color: white; color: #2c2b2b; font-family: arial; font-size: 12px; line-height: 18px; padding-left: 30px;"&gt;&lt;strong&gt;Anonymous&lt;/strong&gt;&lt;br /&gt;Anonymous authentication gives users access to the public areas of your Web site without prompting them for a user name or password. Although listed as an authentication scheme, it is not technically performing any client authentication because the client is not required to supply any credentials. Instead, IIS provides stored credentials to Windows using a special user account, IUSR_machinename. By default, IIS controls the password for this account. Whether or not IIS controls the password affects the permissions the anonymous user has. When IIS controls the password, a sub authentication DLL (iissuba.dll) authenticates the user using a network logon. The function of this DLL is to validate the password supplied by IIS and to inform Windows that the password is valid, thereby authenticating the client. However, it does not actually provide a password to Windows. When IIS does not control the password, IIS calls the LogonUser() API in Windows and provides the account name, password and domain name to log on the user using a local logon. After the logon, IIS caches the security token and impersonates the account. A local logon makes it possible for the anonymous user to access network resources, whereas a network logon does not.&lt;br /&gt;&lt;strong&gt;Basic Authentication&amp;nbsp;&lt;/strong&gt;&lt;br /&gt;IIS Basic authentication as an implementation of the basic authentication scheme found in section 11 of the HTTP 1.0 specification.&lt;br /&gt;As the specification makes clear, this method is, in and of itself, non-secure. The reason is that Basic authentication assumes a trusted connection between client and server. Thus, the username and password are transmitted in clear text. More specifically, they are transmitted using Base64 encoding, which is trivially easy to decode. This makes Basic authentication the wrong choice to use over a public network on its own.&lt;br /&gt;Basic Authentication is a long-standing standard supported by nearly all browsers. It also imposes no special requirements on the server side — users can authenticate against any NT domain, or even against accounts on the local machine. With SSL to shelter the security credentials while they are in transmission, you have an authentication solution that is both highly secure and quite flexible.&lt;br /&gt;&lt;strong&gt;Digest Authentication&amp;nbsp;&lt;/strong&gt;&lt;br /&gt;The Digest authentication option was added in Windows 2000 and IIS 5.0. Like Basic authentication, this is an implementation of a technique suggested by Web standards, namely RFC 2069 (superceded by RFC 2617).&lt;br /&gt;Digest authentication also uses a challenge/response model, but it is much more secure than Basic authentication (when used without SSL). It achieves this greater security not by encrypting the secret (the password) before sending it, but rather by following a different design pattern — one that does not require the client to transmit the password over the wire at all.&lt;br /&gt;Instead of sending the password itself, the client transmits a one-way message digest (a checksum) of the user’s password, using (by default) the MD5 algorithm. The server then fetches the password for that user from a Windows 2000 Domain Controller, reruns the checksum algorithm on it, and compares the two digests. If they match, the server knows that the client knows the correct password, even though the password itself was never sent. (If you have ever wondered what the default ISAPI filter “md5filt” that is installed with IIS 5.0 is used for, now you know.&lt;br /&gt;Integrated Windows Authentication&lt;br /&gt;Integrated Windows authentication (formerly known as NTLM authentication and Windows NT Challenge/Response authentication) can use either NTLM or Kerberos V5 authentication and only works with Internet Explorer 2.0 and later.&lt;br /&gt;When Internet Explorer attempts to access a protected resource, IIS sends two WWW-Authenticate headers, Negotiate and NTLM.&lt;br /&gt;• If Internet Explorer recognizes the Negotiate header, it will choose it because it is listed first. When using Negotiate, the browser will return information for both NTLM and Kerberos. At the server, IIS will use Kerberos if both the client (Internet Explorer 5.0 and later) and server (IIS 5.0 and later) are running Windows 2000 and later, and both are members of the same domain or trusted domains. Otherwise, the server will default to using NTLM.&lt;br /&gt;• If Internet Explorer does not understand Negotiate, it will use NTLM.&lt;br /&gt;So, which mechanism is used depends upon a negotiation between Internet Explorer and IIS.&lt;br /&gt;When used in conjunction with Kerberos v5 authentication, IIS can delegate security credentials among computers running Windows 2000 and later that are trusted and configured for delegation. Delegation enables remote access of resources on behalf of the delegated user.&lt;br /&gt;Integrated Windows authentication is the best authentication scheme in an intranet environment where users have Windows domain accounts, especially when using Kerberos. Integrated Windows authentication, like digest authentication, does not pass the user’s password across the network. Instead, a hashed value is exchanged.&lt;br /&gt;&lt;strong&gt;Client Certificate Mapping&amp;nbsp;&lt;/strong&gt;&lt;br /&gt;A certificate is a digitally signed statement that contains information about an entity and the entity’s public key, thus binding these two pieces of information together. A trusted organization (or entity) called a Certification Authority (CA) issues a certificate after the CA verifies that the entity is who it says it is. Certificates can contain different types of data. For example, an X.509 certificate includes the format of the certificate, the serial number of the certificate, the algorithm used to sign the certificate, the name of the CA that issued the certificate, the name and public key of the entity requesting the certificate, and the CA’s signature. X.509 client certificates simplify authentication for larger user bases because they do not rely on a centralized account database. You can verify a certificate simply by examining the certificate.&lt;/div&gt;&lt;div style="background-color: white; color: #2c2b2b; font-family: arial; font-size: 12px; line-height: 18px;"&gt;&lt;strong&gt;4. IIS Isolation Levels?&lt;/strong&gt;&lt;/div&gt;&lt;div style="background-color: white; color: #2c2b2b; font-family: arial; font-size: 12px; line-height: 18px; padding-left: 30px;"&gt;Internet Information Server introduced the notion “Isolation Level”, which is also present in IIS4 under a different name. IIS5 supports three isolation levels, that you can set from the Home Directory tab of the site’s Properties dialog:&lt;br /&gt;&lt;strong&gt;• Low (IIS Process):&lt;/strong&gt;&amp;nbsp;ASP pages run in INetInfo.Exe, the main IIS process, therefore they are executed in-process. This is the fastest setting, and is the default under IIS4. The problem is that if ASP crashes, IIS crashes as well and must be restarted (IIS5 has a reliable restart feature that automatically restarts a server when a fatal error occurs).&lt;br /&gt;&lt;strong&gt;• Medium (Pooled):&lt;/strong&gt;&amp;nbsp;In this case ASP runs in a different process, which makes this setting more reliable: if ASP crashes IIS won’t. All the ASP applications at the Medium isolation level share the same process, so you can have a web site running with just two processes (IIS and ASP process). IIS5 is the first Internet Information Server version that supports this setting, which is also the default setting when you create an IIS5 application. Note that an ASP application that runs at this level is run under COM+, so it’s hosted in DLLHOST.EXE (and you can see this executable in the Task Manager).&lt;br /&gt;&lt;strong&gt;• High (Isolated):&lt;/strong&gt;&amp;nbsp;Each ASP application runs out-process in its own process space, therefore if an ASP application crashes, neither IIS nor any other ASP application will be affected. The downside is that you consume more memory and resources if the server hosts many ASP applications. Both IIS4 and IIS5 supports this setting: under IIS4 this process runs inside MTS.EXE, while under IIS5 it runs inside DLLHOST.EXE.&lt;br /&gt;When selecting an isolation level for your ASP application, keep in mind that out-process settings – that is, Medium and High – are less efficient than in-process (Low). However, out-process communication has been vastly improved under IIS5, and in fact IIS5′s Medium isolation level often deliver better results than IIS4′s Low isolation. In practice, you shouldn’t set the Low isolation level for an IIS5 application unless you really need to serve hundreds pages per second.&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://iisadmins.blogspot.com/feeds/201511537984291401/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://iisadmins.blogspot.com/2012/09/iis-interview-questions-and-answers_7275.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8251212359688996660/posts/default/201511537984291401'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8251212359688996660/posts/default/201511537984291401'/><link rel='alternate' type='text/html' href='http://iisadmins.blogspot.com/2012/09/iis-interview-questions-and-answers_7275.html' title='IIS Interview Questions And Answers'/><author><name>Jawahar Adityan</name><uri>https://plus.google.com/111255894595346601465</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-2YAc3s1Mnh0/AAAAAAAAAAI/AAAAAAAAHW0/5JUOixENRos/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8251212359688996660.post-6703376424172203569</id><published>2011-04-13T16:07:00.000+05:30</published><updated>2011-04-13T16:07:43.001+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='IIS 7.0'/><title type='text'>IIS 7.0 Architecture</title><content type='html'>&lt;div id="article-description"&gt;          &lt;h2 class="first"&gt;Introduction&lt;/h2&gt;Internet Information Services (IIS) 7 provides a new request-processing architecture that includes: &lt;br /&gt;&lt;div&gt; &lt;ul&gt;&lt;li&gt;A new service, Windows Process Activation Service (WAS), which enables sites to use protocols other than HTTP and HTTPS. &lt;/li&gt;&lt;li&gt;A Web server engine that can be customized by adding or removing modules. &lt;/li&gt;&lt;li&gt;A new approach to processing requests, integrating the request-processing pipelines from IIS and ASP.NET. &lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;This article describes the components, modules, and request-processing architecture in the following sections:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://learn.iis.net/page.aspx/101/#Components"&gt;IIS 7 Components&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://learn.iis.net/page.aspx/101/#Protocol"&gt;Protocol Listeners&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://learn.iis.net/page.aspx/101/#Hypertext"&gt;Hypertext Transfer Protocol Stack (HTTP.sys)&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://learn.iis.net/page.aspx/101/#WWW"&gt;World Wide Web Publishing Service (WWW service)&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://learn.iis.net/page.aspx/101/#WAS"&gt;Windows Process Activation Service (WAS)&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://learn.iis.net/page.aspx/101/#IIS"&gt;IIS 7 Modules&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://learn.iis.net/page.aspx/101/#Native"&gt;Native Modules&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://learn.iis.net/page.aspx/101/#Managed"&gt;Managed Modules&lt;/a&gt; &lt;/li&gt;&lt;li&gt;&lt;a href="http://learn.iis.net/page.aspx/101/#Request"&gt;IIS 7 Request Processing&lt;/a&gt; &lt;/li&gt;&lt;li&gt;&lt;a href="http://learn.iis.net/page.aspx/101/#Application"&gt;IIS 7 Application Pools&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://learn.iis.net/page.aspx/101/#HTTP"&gt;HTTP Request Processing in IIS 7&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h2&gt;&lt;a href="" name="Components" title="Components"&gt;&lt;/a&gt;IIS 7 Components &lt;/h2&gt;IIS 7 contains several components that perform important functions for the application and Web server roles in Windows Server&lt;span&gt;® &lt;/span&gt;2008  (IIS 7.0) and Windows Server 2008 R2 (IIS 7.5). Each component has  responsibilities, such as listening for requests made to the server,  managing processes, and reading configuration files. These components  include protocol listeners, such as HTTP.sys, and services, such as  World Wide Web Publishing Service (WWW service) and Windows Process  Activation Service (WAS).&lt;br /&gt;&lt;h2&gt;&lt;a href="" name="Protocol" title="Protocol"&gt;&lt;/a&gt;Protocol Listeners &lt;/h2&gt;Protocol listeners receive protocol-specific requests, send them to  IIS for processing, and then return responses to requestors. For  example, when a client browser requests a Web page from the Internet,  the HTTP listener, HTTP.sys, picks up the request and sends it to IIS  for processing. Once IIS processes the request, HTTP.sys returns a  response to the client browser. &lt;br /&gt;By default, IIS 7 provides HTTP.sys as the protocol listener that  listens for HTTP and HTTPS requests. HTTP.sys was introduced in IIS 6.0  as an HTTP-specific protocol listener for HTTP requests. HTTP.sys  remains the HTTP listener in IIS 7, but includes support for Secure  Sockets Layer (SSL). &lt;br /&gt;To support services and applications that use protocols other than  HTTP and HTTPS, you can use technologies such as Windows Communication  Foundation (WCF). WCF has listener adapters that provide the  functionality of both a protocol listener and a listener adapter.  Listener adapters are covered later in this document. For more  information about WCF, see &lt;a href="http://go.microsoft.com/fwlink/?LinkId=88604"&gt;Windows Communication Foundation&lt;/a&gt; on MSDN. &lt;br /&gt;&lt;h2&gt;&lt;a href="" name="Hypertext" title="Hypertext"&gt;&lt;/a&gt;Hypertext Transfer Protocol Stack (HTTP.sys) &lt;/h2&gt;The HTTP listener is part of the networking subsystem of Windows  operating systems, and it is implemented as a kernel-mode device driver  called the HTTP protocol stack (HTTP.sys). HTTP.sys listens for HTTP  requests from the network, passes the requests onto IIS for processing,  and then returns processed responses to client browsers. &lt;br /&gt;In IIS 6.0, HTTP.sys replaced Windows Sockets API (Winsock), which  was a user-mode component used by previous versions of IIS to receive  HTTP requests and send HTTP responses. IIS 7 continues to rely on  HTTP.sys for HTTP requests. &lt;br /&gt;HTTP.sys provides the following benefits: &lt;br /&gt;&lt;div&gt; &lt;ul&gt;&lt;li&gt;Kernel-mode caching. Requests for cached responses are served without switching to user mode. &lt;/li&gt;&lt;li&gt;Kernel-mode request queuing. Requests cause less overhead in context  switching because the kernel forwards requests directly to the correct  worker process. If no worker process is available to accept a request,  the kernel-mode request queue holds the request until a worker process  picks it up. &lt;/li&gt;&lt;li&gt;Request pre-processing and security filtering. &lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;h2&gt;&lt;a href="" name="WWW" title="WWW"&gt;&lt;/a&gt;World Wide Web Publishing Service (WWW service) &lt;/h2&gt;In IIS 7, functionality that was previously handled by the World Wide  Web Publishing Service (WWW Service) alone is now split between two  services: WWW Service and a new service, Windows Process Activation  Service (WAS). These two services run as LocalSystem in the same  Svchost.exe process, and share the same binaries. &lt;br /&gt;&lt;b&gt;Note&lt;/b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;You may also see the WWW Service referred to as W3SVC in documentation. &lt;br /&gt;&lt;h3&gt;How WWW Service works in IIS 6.0 &lt;/h3&gt;In IIS 6.0, WWW Service manages the following main areas in IIS: &lt;br /&gt;&lt;ul&gt;&lt;li&gt;HTTP administration and configuration &lt;/li&gt;&lt;li&gt;Process management &lt;/li&gt;&lt;li&gt;Performance monitoring &lt;/li&gt;&lt;/ul&gt;&lt;h4&gt;HTTP Administration and Configuration &lt;/h4&gt;The WWW Service reads configuration information from the IIS metabase  and uses that information to configure and update the HTTP listener,  HTTP.sys. In addition, WWW service starts, stops, monitors, and manages  worker processes that process HTTP requests. &lt;br /&gt;&lt;h4&gt;Performance Monitoring &lt;/h4&gt;The WWW Service monitors performance and provides performance counters for Web sites and for the IIS cache. &lt;br /&gt;&lt;h4&gt;Process Management &lt;/h4&gt;The WWW Service manages application pools and worker processes, such  as starting, stopping, and recycling worker processes. Additionally, the  WWW Service monitors the health of the worker processes, and invokes  rapid fail detection to stop new processes from starting when several  worker processes fail in a configurable amount of time. &lt;br /&gt;&lt;h3&gt;How the WWW Service works in IIS 7 &lt;/h3&gt;In IIS 7, the WWW service no longer manages worker processes.  Instead, the&amp;nbsp;WWW Service is the listener adapter for the HTTP listener,  HTTP.sys. As the listener adapter, the WWW Service is primarily  responsible for configuring HTTP.sys, updating HTTP.sys when  configuration changes, and notifying WAS when a request enters the  request queue. &lt;br /&gt;Additionally, the WWW Service continues to collect the counters for  Web sites. Because performance counters remain part of the WWW Service,  they are HTTP specific and do not apply to WAS. &lt;br /&gt;&lt;h2&gt;&lt;a href="" name="WAS" title="WAS"&gt;&lt;/a&gt;Windows Process Activation Service (WAS) &lt;/h2&gt;In IIS 7, Windows Process Activation Service (WAS) manages  application pool configuration and worker processes instead of the WWW  Service. This enables you to use the same configuration and process  model for HTTP and non-HTTP sites. &lt;br /&gt;Additionally, you can run WAS without the WWW Service if you do not  need HTTP functionality. For example, you can manage a Web service  through a WCF listener adapter, such as NetTcpActivator, without running  the WWW Service if you do not need to listen for HTTP requests in  HTTP.sys. For information about WCF listener adapters and about how to  host WCF applications in IIS 7 by using WAS, see &lt;a href="http://go.microsoft.com/fwlink/?LinkId=81261"&gt;Hosting in WCF&lt;/a&gt; on MSDN. &lt;br /&gt;&lt;h3&gt;Configuration Management in WAS &lt;/h3&gt;On startup, WAS reads certain information from the  ApplicationHost.config file, and passes that information to listener  adapters on the server. Listener adapters are components that establish  communication between WAS and protocol listeners, such as HTTP.sys. Once  listener adapters receive configuration information, they configure  their related protocol listeners and prepare the listeners to listen for  requests. &lt;br /&gt;In the case of WCF, a listener adapter includes the functionality of a  protocol listener. So, a WCF listener adapter, such as NetTcpActivator,  is configured based on information from WAS. Once NetTcpActivator is  configured, it listens for requests that use the net.tcp protocol. For  more information about WCF listener adapters, see &lt;a href="http://go.microsoft.com/fwlink/?LinkId=88413"&gt;WAS Activation Architecture&lt;/a&gt; on MSDN. &lt;br /&gt;The following list describes the type of information that WAS reads from configuration: &lt;br /&gt;&lt;ul&gt;&lt;li&gt;Global configuration information &lt;/li&gt;&lt;li&gt;Protocol configuration information for both HTTP and non-HTTP protocols &lt;/li&gt;&lt;li&gt;Application pool configuration, such as the process account information &lt;/li&gt;&lt;li&gt;Site configuration, such as bindings and applications &lt;/li&gt;&lt;li&gt;Application configuration, such as the enabled protocols and the application pools to which the applications belong &lt;/li&gt;&lt;/ul&gt;If ApplicationHost.config changes, WAS receives a notification and updates the listener adapters with the new information. &lt;br /&gt;&lt;h4&gt;Process Management &lt;/h4&gt;WAS manages application pools and worker processes for both HTTP and  non-HTTP requests. When a protocol listener picks up a client request,  WAS determines if a worker process is running or not. If an application  pool already has a worker process that is&amp;nbsp;servicing requests, the  listener adapter passes the request onto the worker process for  processing. If there is no worker process in the application pool, WAS  will start a worker process so that the listener adapter can pass the  request to it for processing. &lt;br /&gt;&lt;b&gt;Note: &lt;/b&gt;Because WAS manages processes for both HTTP and non-HTTP  protocols, you can run applications with different protocols in the  same application pool. For example, you can develop an application, such  as an XML service, and host it over both HTTP and net.tcp. &lt;br /&gt;&lt;br /&gt;&lt;div id="htmlrewrite_content_rewrite"&gt; &lt;h2&gt;&lt;a href="" name="IIS" title="IIS"&gt;&lt;/a&gt;IIS 7 Modules &lt;/h2&gt;IIS 7 provides a new architecture that is different from previous  versions of IIS. Instead of keeping the majority of functionality within  the server itself, IIS 7 includes a Web server engine in which you can  add or remove components, called modules, depending on your needs. &lt;br /&gt;Modules are individual features that the server uses to process  requests. For example, IIS uses authentication modules to authenticate  client credentials, and cache modules to manage cache activity. &lt;br /&gt;The new architecture provides the following advantages over previous versions of IIS: &lt;br /&gt;&lt;ul&gt;&lt;li&gt;You can control which modules you want on the server. &lt;/li&gt;&lt;li&gt;You can customize a server to a specific role in your environment. &lt;/li&gt;&lt;li&gt;You can use custom modules to replace existing modules or to&amp;nbsp;introduce new features. &lt;/li&gt;&lt;/ul&gt;The IIS 7 architecture also improves security and simplifies  administration. By removing unnecessary modules, you reduce the server's  attack surface and memory footprint, which is the amount of memory that  server worker processes use on the machine. You also eliminate the need  to manage features that are unnecessary for your sites and  applications. &lt;br /&gt;&lt;h2&gt;&lt;a href="" name="Native" title="Native"&gt;&lt;/a&gt;Native Modules &lt;/h2&gt;The following sections describe the native modules that are available  with a full installation of IIS 7. You can remove them or replace them  with custom modules, depending on your needs. &lt;br /&gt;&lt;h3&gt;HTTP Modules &lt;/h3&gt;Several modules in IIS 7 perform tasks specific to Hypertext Transfer  Protocol (HTTP) in the request-processing pipeline. HTTP modules  include modules to respond to information and inquiries sent in client  headers, to return HTTP errors, to redirect requests, and more. &lt;br /&gt;&lt;div&gt; &lt;table border="1" cellpadding="3" cellspacing="0" class="data-table"&gt;&lt;tbody valign="top"&gt;&lt;tr&gt; &lt;th align="left" colspan="2" nowrap="nowrap" valign="center"&gt; Module Name&lt;/th&gt; &lt;th align="left" nowrap="nowrap" valign="center"&gt; Description&lt;/th&gt; &lt;th align="left" nowrap="nowrap" valign="center"&gt; Resource&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt; &lt;th align="left" colspan="2" valign="center"&gt; CustomErrorModule&lt;/th&gt; &lt;td valign="center"&gt; Sends default and configured HTTP error messages when an error status code is set on a response.&lt;/td&gt; &lt;td valign="center"&gt; Inetsrv\Custerr.dll&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt; &lt;th align="left" colspan="2" valign="center"&gt; HttpRedirectionModule&lt;/th&gt; &lt;td valign="center"&gt; Supports configurable redirection for HTTP requests.&lt;/td&gt; &lt;td valign="center"&gt; Inetsrv\Redirect.dll&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt; &lt;th align="left" colspan="2" valign="center"&gt; ProtocolSupportModule&lt;/th&gt; &lt;td valign="center"&gt; Performs protocol-related actions, such as setting response headers and redirecting headers based on configuration.&lt;/td&gt; &lt;td valign="center"&gt; Inetsrv\Protsup.dll&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt; &lt;th align="left" colspan="2" valign="center"&gt; RequestFilteringModule&lt;/th&gt; &lt;td valign="center"&gt; Added in IIS 7.5. Filters requests as configured to control protocol and content behavior.&lt;/td&gt; &lt;td valign="center"&gt; Inetsrv\modrqflt.dll&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt; &lt;th align="left" colspan="2" valign="center"&gt; WebDAVModule&lt;/th&gt; &lt;td valign="center"&gt; Added in IIS 7.5. Allows more secure publishing of content by using HTTP over SSL.&lt;/td&gt; &lt;td valign="center"&gt; Inetsrv\WebDAV.dll&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;h3&gt;Security Modules &lt;/h3&gt;Several modules in IIS 7 perform tasks related to security in the  request-processing pipeline. In addition, there are separate modules for  each of the authentication schemes, which enable you to select modules  for the types of authentication you want on your server. There are also  modules that perform URL authorization, and a module that filters  requests. &lt;br /&gt;&lt;div&gt; &lt;table border="1" cellpadding="3" cellspacing="0" class="data-table"&gt;&lt;tbody valign="top"&gt;&lt;tr&gt; &lt;th align="left" nowrap="nowrap" valign="center"&gt; Module Name&lt;/th&gt; &lt;th align="left" nowrap="nowrap" valign="center"&gt; Description&lt;/th&gt; &lt;th align="left" nowrap="nowrap" valign="center"&gt; Resource&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt; &lt;th align="left" valign="center"&gt; AnonymousAuthenticationModule&lt;/th&gt; &lt;td valign="center"&gt; Performs Anonymous authentication when no other authentication method succeeds.&lt;/td&gt; &lt;td valign="center"&gt; Inetsrv\Authanon.dll&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt; &lt;th align="left" valign="center"&gt; BasicAuthenticationModule&lt;/th&gt; &lt;td valign="center"&gt; Performs Basic authentication.&lt;/td&gt; &lt;td valign="center"&gt; Inetsrv\Authbas.dll&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt; &lt;th align="left" valign="center"&gt; CertificateMappingAuthenticationModule&lt;/th&gt; &lt;td valign="center"&gt; Performs Certificate Mapping authentication using Active Directory.&lt;/td&gt; &lt;td valign="center"&gt; Inetsrv\Authcert.dll&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt; &lt;th align="left" valign="center"&gt; DigestAuthenticationModule&lt;/th&gt; &lt;td valign="center"&gt; Performs Digest authentication.&lt;/td&gt; &lt;td valign="center"&gt; Inetsrv\Authmd5.dll&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt; &lt;th align="left" valign="center"&gt; IISCertificateMappingAuthenticationModule&lt;/th&gt; &lt;td valign="center"&gt; Performs Certificate Mapping authentication using IIS certificate configuration.&lt;/td&gt; &lt;td valign="center"&gt; Inetsrv\Authmap.dll&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt; &lt;th align="left" valign="center"&gt; RequestFilteringModule&lt;/th&gt; &lt;td valign="center"&gt; Performs URLScan tasks such as configuring allowed verbs and file  name&amp;nbsp;extensions, setting limits, and scanning for bad character  sequences.&lt;/td&gt; &lt;td valign="center"&gt; Inetsrv\Modrqflt.dll&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt; &lt;th align="left" valign="center"&gt; UrlAuthorizationModule&lt;/th&gt; &lt;td valign="center"&gt; Performs URL authorization.&lt;/td&gt; &lt;td valign="center"&gt; Inetsrv\Urlauthz.dll&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt; &lt;th align="left" valign="center"&gt; WindowsAuthenticationModule&lt;/th&gt; &lt;td valign="center"&gt; Performs NTLM integrated authentication.&lt;/td&gt; &lt;td valign="center"&gt; Inetsrv\Authsspi.dll&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt; &lt;th align="left" valign="center"&gt; IpRestrictionModule&lt;/th&gt; &lt;td valign="center"&gt; Restricts IPv4 addresses listed in the ipSecurity list in configuration.&lt;/td&gt; &lt;td valign="center"&gt; Inetsrv\iprestr.dll&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;h3&gt;Content Modules &lt;/h3&gt;Several modules in IIS 7 perform tasks related to content in the  request-processing pipeline. Content modules include modules to process  requests for static files, to return a default page when a client  doesn't specify a resource in a request, to list the contents of a  directory, and more. &lt;br /&gt;&lt;div&gt; &lt;table border="1" cellpadding="3" cellspacing="0" class="data-table"&gt;&lt;tbody valign="top"&gt;&lt;tr&gt; &lt;th align="left" nowrap="nowrap" valign="center"&gt; Module Name&lt;/th&gt; &lt;th align="left" nowrap="nowrap" valign="center"&gt; Description&lt;/th&gt; &lt;th align="left" nowrap="nowrap" valign="center"&gt; Resource&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt; &lt;th align="left" valign="center"&gt; CgiModule&lt;/th&gt; &lt;td valign="center"&gt; Executes Common Gateway Interface (CGI) processes to build response output.&lt;/td&gt; &lt;td valign="center"&gt; Inetsrv\Cgi.dll&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt; &lt;th align="left" valign="center"&gt; DefaultDocumentModule&lt;/th&gt; &lt;td valign="center"&gt; Attempts to return a default document for requests made to the parent directory.&lt;/td&gt; &lt;td valign="center"&gt; Inetsrv\Defdoc.dll&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt; &lt;th align="left" valign="center"&gt; DirectoryListingModule&lt;/th&gt; &lt;td valign="center"&gt; Lists the contents of a directory.&lt;/td&gt; &lt;td valign="center"&gt; Inetsrv\dirlist.dll&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt; &lt;th align="left" valign="center"&gt; IsapiModule&lt;/th&gt; &lt;td valign="center"&gt; Hosts ISAPI extension DLLs.&lt;/td&gt; &lt;td valign="center"&gt; Inetsrv\Isapi.dll&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt; &lt;th align="left" valign="center"&gt; IsapiFilterModule&lt;/th&gt; &lt;td valign="center"&gt; Supports ISAPI filter DLLs.&lt;/td&gt; &lt;td valign="center"&gt; Inetsrv\Filter.dll&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt; &lt;th align="left" valign="center"&gt; ServerSideIncludeModule&lt;/th&gt; &lt;td valign="center"&gt; Processes server-side includes code.&lt;/td&gt; &lt;td valign="center"&gt; Inetsrv\Iis_ssi.dll&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt; &lt;th align="left" valign="center"&gt; StaticFileModule&lt;/th&gt; &lt;td valign="center"&gt; Serves static files.&lt;/td&gt; &lt;td valign="center"&gt; Inetsrv\Static.dll&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt; &lt;th align="left" valign="center"&gt; FastCgiModule&lt;/th&gt; &lt;td valign="center"&gt; Supports FastCGI, which provides a high-performance alternative to CGI.&lt;/td&gt; &lt;td valign="center"&gt; Inetsrv\iisfcgi.dll&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;h3&gt;Compression Modules &lt;/h3&gt;Two modules in IIS 7 perform compression in the request-processing pipeline. &lt;br /&gt;&lt;div&gt; &lt;table border="1" cellpadding="3" cellspacing="0" class="data-table"&gt;&lt;tbody valign="top"&gt;&lt;tr&gt; &lt;th align="left" valign="center"&gt; Module Name&lt;/th&gt; &lt;th align="left" valign="center"&gt; Description&lt;/th&gt; &lt;th align="left" valign="center"&gt; Resource&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt; &lt;th align="left" valign="center"&gt; DynamicCompressionModule&lt;/th&gt; &lt;td valign="center"&gt; Compresses responses and applies Gzip compression transfer coding to responses.&lt;/td&gt; &lt;td valign="center"&gt; Inetsrv\Compdyn.dll&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt; &lt;th align="left" valign="center"&gt; StaticCompressionModule&lt;/th&gt; &lt;td valign="center"&gt; Performs pre-compression of static content.&lt;/td&gt; &lt;td valign="center"&gt; Inetsrv\Compstat.dll&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;h3&gt;Caching Modules &lt;/h3&gt;Several modules in IIS 7 perform tasks related to caching in the  request-processing pipeline. Caching improves the performance of your  Web sites and Web applications by storing processed information, such as  Web pages, in memory on the server, and then reusing that information  in subsequent requests for the same resource. &lt;br /&gt;&lt;div&gt; &lt;table border="1" cellpadding="3" cellspacing="0" class="data-table"&gt;&lt;tbody valign="top"&gt;&lt;tr&gt; &lt;th align="left" valign="center"&gt; Module Name&lt;/th&gt; &lt;th align="left" valign="center"&gt; Description&lt;/th&gt; &lt;th align="left" valign="center"&gt; Resource&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt; &lt;th align="left" valign="center"&gt; FileCacheModule&lt;/th&gt; &lt;td valign="center"&gt; Provides user mode caching for files and file handles.&lt;/td&gt; &lt;td valign="center"&gt; Inetsrv\Cachfile.dll&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt; &lt;th align="left" valign="center"&gt; HTTPCacheModule&lt;/th&gt; &lt;td valign="center"&gt; Provides kernel mode and user mode caching in HTTP.sys.&lt;/td&gt; &lt;td valign="center"&gt; Inetsrv\Cachhttp.dll&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt; &lt;th align="left" valign="center"&gt; TokenCacheModule&lt;/th&gt; &lt;td valign="center"&gt; Provides user mode caching of user name and token pairs for modules that produce Windows user principals.&lt;/td&gt; &lt;td valign="center"&gt; Inetsrv\Cachtokn.dll&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt; &lt;th align="left" valign="center"&gt; UriCacheModule&lt;/th&gt; &lt;td valign="center"&gt; Provides user mode caching of URL information.&lt;/td&gt; &lt;td valign="center"&gt; Inetsrv\Cachuri.dll&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;h3&gt;Logging and Diagnostics Modules &lt;/h3&gt;Several modules in IIS 7 perform tasks related to logging and  diagnostics in the request-processing pipeline. The logging modules  support loading of custom modules and passing information to HTTP.sys.  The diagnostics modules follow and report events during request  processing. &lt;br /&gt;&lt;div&gt; &lt;table border="1" cellpadding="3" cellspacing="0" class="data-table"&gt;&lt;tbody valign="top"&gt;&lt;tr&gt; &lt;th align="left" valign="center"&gt; Module Name&lt;/th&gt; &lt;th align="left" valign="center"&gt; Description&lt;/th&gt; &lt;th align="left" valign="center"&gt; Resource&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt; &lt;th align="left" valign="center"&gt; CustomLoggingModule&lt;/th&gt; &lt;td valign="center"&gt; Loads custom logging modules.&lt;/td&gt; &lt;td valign="center"&gt; Inetsrv\Logcust.dll&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt; &lt;th align="left" valign="center"&gt; FailedRequestsTracingModule&lt;/th&gt; &lt;td valign="center"&gt; Supports the Failed Request Tracing feature.&lt;/td&gt; &lt;td valign="center"&gt; Inetsrv\Iisfreb.dll&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt; &lt;th align="left" valign="center"&gt; HttpLoggingModule&lt;/th&gt; &lt;td valign="center"&gt; Passes information and processing status to HTTP.sys for logging.&lt;/td&gt; &lt;td valign="center"&gt; Inetsrv\Loghttp.dll&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt; &lt;th align="left" valign="center"&gt; RequestMonitorModule&lt;/th&gt; &lt;td valign="center"&gt; Tracks requests currently executing in worker processes and reports  information with Runtime Status and Control Application Programming  Interface (RSCA).&lt;/td&gt; &lt;td valign="center"&gt; Inetsrv\Iisreqs.dll&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt; &lt;th align="left" valign="center"&gt; TracingModule&lt;/th&gt; &lt;td valign="center"&gt; Reports events to Microsoft Event Tracing for Windows (ETW).&lt;/td&gt; &lt;td valign="center"&gt; Inetsrv\Iisetw.dll&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;h3&gt;Managed Support Modules &lt;/h3&gt;A couple of modules in IIS 7 support managed integration in the IIS request-processing pipeline. &lt;br /&gt;&lt;div&gt; &lt;table border="1" cellpadding="3" cellspacing="0" class="data-table"&gt;&lt;tbody valign="top"&gt;&lt;tr&gt; &lt;th align="left" valign="center"&gt; Module Name&lt;/th&gt; &lt;th align="left" valign="center"&gt; Description&lt;/th&gt; &lt;th align="left" valign="center"&gt; Resource&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt; &lt;th align="left" valign="center"&gt; ManagedEngine&lt;/th&gt; &lt;td valign="center"&gt; Provides integration of managed code modules in the IIS request-processing pipeline.&lt;/td&gt; &lt;td valign="center"&gt; Microsoft.NET\Framework\v2.0.50727\webengine.dll&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt; &lt;th align="left" valign="center"&gt; ConfigurationValidationModule&lt;/th&gt; &lt;td valign="center"&gt; Validates configuration issues, such as when an application is  running in Integrated mode but has handlers or modules declared in the  system.web section.&lt;/td&gt; &lt;td valign="center"&gt; Inetsrv\validcfg.dll&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;h2&gt;&lt;a href="" name="Managed" title="Managed"&gt;&lt;/a&gt;Managed Modules &lt;/h2&gt;In addition to native modules, IIS 7 enables you to use managed code  modules to extend IIS functionality. Some of the managed modules, such  as UrlAuthorization, have a native module counterpart that provides a  native alternative to the managed module. &lt;br /&gt;&lt;b&gt;Note&lt;/b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;Managed modules depend on the ManagedEngine module. &lt;br /&gt;The following table lists the managed modules that are available with  a full installation of IIS 7. For more information about the managed  modules, see the &lt;a href="http://go.microsoft.com/fwlink/?LinkId=88414"&gt;.NET Framework SDK 2.0&lt;/a&gt; on MSDN. &lt;br /&gt;&lt;div&gt; &lt;table border="1" cellpadding="3" cellspacing="0" class="data-table"&gt;&lt;tbody valign="top"&gt;&lt;tr&gt; &lt;th align="left" valign="center"&gt; Module Name&lt;/th&gt; &lt;th align="left" valign="center"&gt; Description&lt;/th&gt; &lt;th align="left" valign="center"&gt; Resource&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt; &lt;th align="left" valign="center"&gt; AnonymousIdentification&lt;/th&gt; &lt;td valign="center"&gt; Manages anonymous identifiers, which are used by features that support anonymous identification such as ASP.NET profile.&lt;/td&gt; &lt;td valign="center"&gt; System.Web.Security.AnonymousIdentificationModule&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt; &lt;th align="left" valign="center"&gt; DefaultAuthentication&lt;/th&gt; &lt;td valign="center"&gt; Ensures that an authentication object is present in the context.&lt;/td&gt; &lt;td valign="center"&gt; System.Web.Security.DefaultAuthenticationModule&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt; &lt;th align="left" valign="center"&gt; FileAuthorization&lt;/th&gt; &lt;td valign="center"&gt; Verifies that a user has permission to access the requested file.&lt;/td&gt; &lt;td valign="center"&gt; System.Web.Security.FileAuthorizationModule&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt; &lt;th align="left" valign="center"&gt; FormsAuthentication&lt;/th&gt; &lt;td valign="center"&gt; Supports authentication by using Forms authentication.&lt;/td&gt; &lt;td valign="center"&gt; System.Web.Security.FormsAuthenticationModule&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt; &lt;th align="left" valign="center"&gt; OutputCache&lt;/th&gt; &lt;td valign="center"&gt; Supports output caching.&lt;/td&gt; &lt;td valign="center"&gt; System.Web.Caching.OutputCacheModule&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt; &lt;th align="left" valign="center"&gt; Profile&lt;/th&gt; &lt;td valign="center"&gt; Manages user profiles by using ASP.NET profile, which stores and retrieves user settings in a data source such as a database.&lt;/td&gt; &lt;td valign="center"&gt; System.Web.Profile.ProfileModule&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt; &lt;th align="left" valign="center"&gt; RoleManager&lt;/th&gt; &lt;td valign="center"&gt; Manages a RolePrincipal instance for the current user.&lt;/td&gt; &lt;td valign="center"&gt; System.Web.Security.RoleManagerModule&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt; &lt;th align="left" valign="center"&gt; Session&lt;/th&gt; &lt;td valign="center"&gt; Supports maintaining session state, which enables storage of data  specific to a single client within an application on the server.&lt;/td&gt; &lt;td valign="center"&gt; System.Web.SessionState.SessionStateModule&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt; &lt;th align="left" valign="center"&gt; UrlAuthorization&lt;/th&gt; &lt;td valign="center"&gt; Determines whether the current user is permitted access to the  requested URL, based on the user name or the list of roles of which a  user is a member.&lt;/td&gt; &lt;td valign="center"&gt; System.Web.Security.UrlAuthorizationModule&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt; &lt;th align="left" valign="center"&gt; UrlMappingsModule&lt;/th&gt; &lt;td valign="center"&gt; Supports mapping a real URL to a more user-friendly URL.&lt;/td&gt; &lt;td valign="center"&gt; System.Web.UrlMappingsModule&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt; &lt;th align="left" valign="center"&gt; WindowsAuthentication&lt;/th&gt; &lt;td valign="center"&gt; Sets the identity of the user for an ASP.NET application when Windows authentication is enabled.&lt;/td&gt; &lt;td valign="center"&gt; System.Web.Security.WindowsAuthenticationModule&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;br /&gt;&lt;h2&gt;&lt;a href="" name="Request" title="Request"&gt;&lt;/a&gt;IIS 7 Request Processing &lt;/h2&gt;In IIS 7, the IIS and ASP.NET request pipelines combine to process  requests with an integrated approach. The new request-processing  architecture consists of an ordered list of native and managed modules  that perform specific tasks in response to requests. &lt;br /&gt;This design provides several benefits over previous versions of IIS.  First, all file types can use features that were originally available  only to managed code. For example, you can now use ASP.NET Forms  authentication and Uniform Resource Locator (URL) authorization for  static files, Active Server Pages (ASP) files, and all other file types  in your sites and applications. &lt;br /&gt;Second, this design eliminates the duplication of several features in  IIS and ASP.NET. For example, when a client requests a managed file,  the server calls the appropriate authentication module in the integrated  pipeline to authenticate the client. In previous versions of IIS, this  same request would go through an authentication process in both the IIS  pipeline and in the ASP.NET pipeline. &lt;br /&gt;Third, you can manage all of the modules in one location, instead of  managing some features in IIS and some in the ASP.NET configuration.  This simplifies the administration of sites and applications on the  server. &lt;br /&gt;&lt;h2&gt;&lt;a href="" name="Application" title="Application"&gt;&lt;/a&gt;IIS 7 Application Pools &lt;/h2&gt;Application pools separate applications by process boundaries to  prevent an application from affecting another application on the server.  In IIS 7, application pools continue to use IIS 6.0 worker process  isolation mode. In addition, you can now specify a setting that  determines how to process requests that involve managed resources:  Integrated mode or Classic mode. &lt;br /&gt;&lt;b&gt;Note:&lt;/b&gt;&amp;nbsp;In IIS 6.0, worker process isolation mode and IIS 5.0  isolation mode are set at the server level. This makes it impossible to  run both isolation modes on the same server. However, in IIS 7,  Integrated mode and Classic mode are set at the application pool level,  which enables you to run applications simultaneously in application  pools with different process modes on the same server. &lt;br /&gt;&lt;h3&gt;Integrated application pool mode &lt;/h3&gt;When an application pool is in Integrated mode, you can take  advantage of the integrated request-processing architecture of IIS and  ASP.NET. When a worker process in an application pool receives a  request, the request passes through an ordered list of events. Each  event calls the necessary native and managed modules to process portions  of the request and to generate the response. &lt;br /&gt;There are several benefits to running application pools in Integrated  mode. First the request-processing models of IIS and ASP.NET are  integrated into a unified process model. This model eliminates steps  that were previously duplicated in IIS and ASP.NET, such as  authentication. Additionally, Integrated mode enables the availability  of managed features to all content types. &lt;br /&gt;&lt;h3&gt;Classic application pool mode &lt;/h3&gt;When an application pool is in Classic mode, IIS 7 handles requests  in the same way as in IIS 6.0 worker process isolation mode. ASP.NET  requests first go through native processing steps in IIS and are then  routed to Aspnet_isapi.dll for processing of managed code in the managed  runtime. Finally, the request is routed back through IIS to send the  response. &lt;br /&gt;This separation of the IIS and ASP.NET request-processing models  results in duplication of some processing steps, such as authentication  and authorization. Additionally, managed code features, such as Forms  authentication, are only available to ASP.NET applications or  applications for which you have script mapped all requests to be handled  by aspnet_isapi.dll. &lt;br /&gt;Be sure to test your existing applications for compatibility in  Integrated mode before upgrading a production environment to IIS 7 and  assigning applications to application pools in Integrated mode. You  should only add an application to an application pool in Classic mode if  the application fails to work in Integrated mode. For example, your  application might rely on an authentication token passed from IIS to the  managed runtime, and, due to the new architecture in IIS 7, the process  breaks your application. &lt;br /&gt;&lt;h2&gt;&lt;a href="" name="HTTP" title="HTTP"&gt;&lt;/a&gt;HTTP Request Processing in IIS 7 &lt;/h2&gt;IIS 7 has a similar HTTP request-processing flow as IIS 6.0. The  diagrams in this section provide an overview of an HTTP request in  process. &lt;br /&gt;The following list describes the request-processing flow that is shown in Figure 1: &lt;br /&gt;&lt;ol&gt;&lt;li&gt;When a client browser initiates an HTTP request for a resource on the Web server, HTTP.sys intercepts the request. &lt;/li&gt;&lt;li&gt;HTTP.sys contacts WAS to obtain information from the configuration store. &lt;/li&gt;&lt;li&gt;WAS requests configuration information from the configuration store, applicationHost.config. &lt;/li&gt;&lt;li&gt;The WWW Service receives configuration information, such as application pool and site configuration. &lt;/li&gt;&lt;li&gt;The WWW Service uses the configuration information to configure HTTP.sys. &lt;/li&gt;&lt;li&gt;WAS starts a worker process for the application pool to which the request was made. &lt;/li&gt;&lt;li&gt;The worker process processes the request and returns a response to HTTP.sys. &lt;/li&gt;&lt;li&gt;The client receives a response.&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;&lt;div id="htmlrewrite_content_rewrite"&gt;&lt;a href="http://learn.iis.net/file.axd?i=15"&gt;&lt;img alt="" border="0" src="http://learn.iis.net/file.axd?i=15" /&gt;&lt;/a&gt;&amp;nbsp;  &lt;span&gt;&lt;b&gt;Figure 1: Overview of an HTTP Request &lt;/b&gt;&lt;/span&gt;&lt;br /&gt;In a worker process, an HTTP request passes through several ordered  steps, called events, in the Web Server Core. At each event, a native  module processes part of the request, such as authenticating the user or  adding information to the event log. If a request requires a managed  module, the native ManagedEngine module creates an AppDomain, where the  managed module can perform the necessary processing, such as  authenticating a user with Forms authentication. When the request passes  through all of the events in the Web Server Core, the response is  returned to HTTP.sys. Figure 2, below, shows an HTTP request entering  the worker process. &lt;br /&gt;&lt;a href="http://learn.iis.net/file.axd?i=16"&gt;&lt;img alt="" border="0" src="http://learn.iis.net/file.axd?i=16" /&gt;&lt;/a&gt;&lt;br /&gt;&amp;nbsp;&lt;span&gt;&lt;b&gt;Figure 2: Detail of a HTTP request inside the Worker Process &lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://iisadmins.blogspot.com/feeds/6703376424172203569/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://iisadmins.blogspot.com/2011/04/iis-70-architecture.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8251212359688996660/posts/default/6703376424172203569'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8251212359688996660/posts/default/6703376424172203569'/><link rel='alternate' type='text/html' href='http://iisadmins.blogspot.com/2011/04/iis-70-architecture.html' title='IIS 7.0 Architecture'/><author><name>Jawahar Adityan</name><uri>https://plus.google.com/111255894595346601465</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-2YAc3s1Mnh0/AAAAAAAAAAI/AAAAAAAAHW0/5JUOixENRos/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8251212359688996660.post-6907432897249970592</id><published>2011-04-13T15:54:00.000+05:30</published><updated>2011-04-13T15:54:46.062+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='IIS 6.0'/><title type='text'>Difference between Web Farm and Web Garden in IIS ?</title><content type='html'>I have been asked this question many times by different readers of my  blog. They wanted to know about the fundamentals of Web Farms and Web  Garden . In this blog post&amp;nbsp; I am going to explain the what is the exact  difference between web farm and web garden, what are the advantages and  disadvantages of using them. I have also described how to create web  garden in different version of IIS.&lt;br /&gt;&lt;strong&gt;Overview :&lt;/strong&gt;&lt;br /&gt;Visual Studio having its own integrated ASP.NET engine which is used to run the ASP.NET Web application from Visual Studio. &lt;span style="color: #003300;"&gt;&lt;em&gt;&lt;span style="color: navy;"&gt;ASP.NET Development Server&lt;/span&gt;&amp;nbsp; is &lt;/em&gt;&lt;/span&gt;responsible  for execute all the request and response from client. Now after the end  of development, when you want to host the site on some server to allow  other peoples to access, concept of web servers comes in between.&amp;nbsp; A web  server is responsible for&amp;nbsp; provide the response for all the requests  that are coming from clients. Below diagram showing the typical  deployment structure of a ASP.NET Web application with a single IIS.&lt;br /&gt;&lt;div style="text-align: left;"&gt;&lt;a href="http://abhijitjana.files.wordpress.com/2010/10/2.jpg"&gt;&lt;img alt="2" border="0" class="aligncenter" height="182" src="http://abhijitjana.files.wordpress.com/2010/10/2_thumb.jpg?w=377&amp;amp;h=182" style="border-width: 0; display: block; float: none; margin-left: auto; margin-right: auto;" title="2" width="377" /&gt;&lt;/a&gt; Clients request for resources and IIS Process the request and send back to clients. If you want to know more details on &lt;span style="text-decoration: underline;"&gt;How IIS Process the request&lt;/span&gt; please read one of my article over &lt;a href="http://abhijitjana.net/2010/03/14/beginner%e2%80%99s-guide-how-iis-process-asp-net-request/" target="_blank"&gt;“How IIS Process ASP.NET Request ?”&lt;/a&gt; .&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;strong&gt;Web Farm :&lt;/strong&gt;&lt;/div&gt;This is the case, where you have only one &lt;span style="color: navy;"&gt;web server and multiple clients&lt;/span&gt;  requesting for the resources from the same server. But when there is  huge numbers of&amp;nbsp; incoming traffic for your web sites, one standalone  server is not sufficient to process the request.&amp;nbsp; You may need to use  multiple server to host the application and divide the traffic among  them.&amp;nbsp; This is called &lt;span style="color: navy;"&gt;&lt;strong&gt;“Web Farm”&lt;/strong&gt;&lt;/span&gt; . So when you are hosting your single web site on multiple web server over load balancer called &lt;span style="text-decoration: underline;"&gt;&lt;span style="color: navy;"&gt;“Web Farm”.&lt;/span&gt;&lt;/span&gt; Below diagram showing the over all representation of Web Farms.&lt;br /&gt;&lt;div style="text-align: center;"&gt;&amp;nbsp;&lt;a href="http://abhijitjana.files.wordpress.com/2010/10/webfarms.png"&gt;&lt;img alt="Web Farms" border="0" class="aligncenter" height="232" src="http://abhijitjana.files.wordpress.com/2010/10/webfarms_thumb.png?w=498&amp;amp;h=232" style="border-width: 0; display: block; float: none; margin-left: auto; margin-right: auto;" title="Web Farms" width="498" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;span id="more-1468"&gt;&lt;/span&gt;In general web farm architecture, a  single application is hosted on multiple IIS Server and those are  connected with the VIP ( Virtual IP ) with Load Balancer. Load Balancer  IP’s exposed to external worlds to access. So whenever some request will  come to server from clients, it will first hit the Load Balancer, then  based on the traffic on each server LB distributed the request to  corresponding web server.&amp;nbsp; These web server may share same DB server or  may be they can use replicated server in the back end. &lt;br /&gt;So, In a single statement, When we host a web application over  multiple web server to distributed the load among them&amp;nbsp; is called Web  Farm.&lt;br /&gt;&lt;strong&gt;Web Garden :&lt;/strong&gt;&lt;br /&gt;Now, let’s have a look, what is &lt;span style="color: navy;"&gt;Web Garden&lt;/span&gt;  ?&amp;nbsp; Both the terms&amp;nbsp; sounds same,&amp;nbsp; but they are totally different with  each other.&amp;nbsp; Before starting with Web Garden, I hope you have  fundamental idea of what is Application Pool and what is Worker  Process.&amp;nbsp; If you have already read the article&amp;nbsp; &lt;a href="http://abhijitjana.net/2010/03/14/beginner%e2%80%99s-guide-how-iis-process-asp-net-request/" target="_blank"&gt;“How IIS Process ASP.NET Request ?”&lt;/a&gt; article then I can expect that you have now good idea on both of them.&lt;br /&gt;Just to recall,&amp;nbsp; When we are talking about requesting processing with in IIS, &lt;em&gt;&lt;span style="color: navy;"&gt;Worker Process&lt;/span&gt; &lt;/em&gt;(w3wp.exe ) takes care all of these. &lt;span style="color: navy;"&gt;Worker Process runs the ASP.Net application in IIS&lt;/span&gt;.  All the ASP.Net functionality inside IIS&amp;nbsp; runs under the scope of  worker process. Worker Process is responsible for handling all kind of  request, response, session data, cache data.&amp;nbsp; Application Pool is the  container of worker process. Application pools is used to separate sets  of IIS worker processes and enables a better &lt;em&gt;&lt;span style="color: navy;"&gt;security, reliability, and availability&lt;/span&gt;&lt;/em&gt; for any web application.&lt;br /&gt;&lt;a href="http://abhijitjana.files.wordpress.com/2010/10/apppools.png"&gt;&lt;img alt="apppools" border="0" class="alignleft" height="123" src="http://abhijitjana.files.wordpress.com/2010/10/apppools_thumb.png?w=448&amp;amp;h=123" style="border-width: 0; display: block; float: none; margin-left: auto; margin-right: auto;" title="apppools" width="448" /&gt;&lt;/a&gt;Now, by default each and every Application pool contains a single worker process. &lt;span style="color: navy;"&gt;Application which contains the multiple worker process called&lt;/span&gt;&lt;strong&gt; &lt;span style="color: navy;"&gt;“Web Garden”.&lt;/span&gt;&lt;/strong&gt; Below is the typical diagram for a web garden application.&lt;br /&gt;&lt;a href="http://abhijitjana.files.wordpress.com/2010/10/webgardenbasic.png"&gt;&lt;img alt="WebGarden Basic" border="0" class="alignleft" height="151" src="http://abhijitjana.files.wordpress.com/2010/10/webgardenbasic_thumb.png?w=437&amp;amp;h=151" style="border-width: 0; display: block; float: none; margin-left: auto; margin-right: auto;" title="WebGarden Basic" width="437" /&gt;&lt;/a&gt;In the above diagram you can see, on of the application containing the&amp;nbsp; multiple worker process, which is now a web garden.&lt;br /&gt;So, a Web application hosted on multiple server and access based on  the load on servers is called Web Farms and When a single Application  pool contain multiple Worker process is called web garden.&lt;br /&gt;&lt;strong&gt;Create Web Garden in IIS 6 and IIS 7&lt;/strong&gt;&lt;br /&gt;Now, I am going to show how you can change the Number of Worker process In both IIS 6 and IIS 7.&amp;nbsp; For IIS 6,&amp;nbsp; &lt;span style="color: navy;"&gt;Right Click on Application Pool&lt;/span&gt; &amp;gt; &lt;span style="color: navy;"&gt;Properties&lt;/span&gt; &amp;gt; Goto&amp;nbsp; &lt;span style="color: navy;"&gt;Performance&lt;/span&gt; Tab.&lt;br /&gt;&lt;a href="http://abhijitjana.files.wordpress.com/2010/10/webgardeniis6.png"&gt;&lt;img alt="WebGardenIIS6" border="0" height="243" src="http://abhijitjana.files.wordpress.com/2010/10/webgardeniis6_thumb.png?w=257&amp;amp;h=243" style="border-width: 0; display: inline;" title="WebGardenIIS6" width="257" /&gt;&lt;/a&gt;&lt;br /&gt;In the “Performance Tab” Section you would have one option called &lt;span style="color: navy;"&gt;“Web Garden”&lt;/span&gt; where worker process sets to&lt;span style="color: navy;"&gt; “1”,&lt;/span&gt; you can set the number of worker process that you required.&lt;br /&gt;For IIS 7, Right Click on&lt;span style="color: navy;"&gt; Application Pool&lt;/span&gt; &amp;gt;&lt;span style="color: navy;"&gt; Go To Advance Settings&lt;/span&gt; &amp;gt; In &lt;span style="color: navy;"&gt;Process Model&lt;/span&gt; section, you will have &lt;span style="color: navy;"&gt;“Maximum Worker Processes”&lt;/span&gt; . You can change it more than 1 to make it as web garden.&lt;br /&gt;&lt;a href="http://abhijitjana.files.wordpress.com/2010/10/webgardeniis7.png"&gt;&lt;img alt="WebGardenIIS7" border="0" height="301" src="http://abhijitjana.files.wordpress.com/2010/10/webgardeniis7_thumb.png?w=249&amp;amp;h=301" style="border-width: 0; display: inline;" title="WebGardenIIS7" width="249" /&gt;&lt;/a&gt;&lt;br /&gt;In the above image you can also check the definition of Web Garden also.&lt;br /&gt;You can find one of my previous article on the basic of same over &lt;a href="http://www.dotnetfunda.com/articles/article713-difference-between-web-farm-and-web-garden.aspx"&gt;here&lt;/a&gt;&lt;br /&gt;&lt;strong&gt;Advantages of Web Farm and Web Garden :&lt;/strong&gt;&lt;br /&gt;Now, let’s have a look in to the advantages of both the Web farms and Web Garden. &lt;br /&gt;&lt;b&gt;&lt;u&gt;Advantages of Web Farm&lt;/u&gt;&lt;/b&gt; &lt;br /&gt;&lt;ul&gt;&lt;li&gt;It provides high availability. If any of the server in the farm goes  down, Load balancer can redirects the requests to other servers.&lt;/li&gt;&lt;li&gt;Provides high performance response for client requests.&lt;/li&gt;&lt;li&gt;Provides Better scalability of the web application and reduce the failure of application. &lt;/li&gt;&lt;li&gt;Session and other resource can be stored in a centralized location to access by the all server.&lt;/li&gt;&lt;/ul&gt;&lt;b&gt;&lt;u&gt;Advantages of Web Garden:&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;provides better application availability by sharing request between multiple worker process.&lt;/li&gt;&lt;li&gt;Web garden use processor affinity where application can swapped out based on preference and tag setting. &lt;/li&gt;&lt;li&gt;Less consumption of physical space for web garden configuration.&lt;/li&gt;&lt;/ul&gt;&lt;strong&gt;How to manage session in Web Farm Mode ?&lt;/strong&gt;&lt;br /&gt;While using session, requests are distributed among different  servers. By default session mode is set to In Proc where session data  stored inside worker process memory. But, In Web farm mode we can share  the session among all the server using a single session store location  my making it Out proc (State Server or SQL Server Mode). So, if some of  the server goes down and request transferred to the other server by the  Load balancer session data should be available for that request.&lt;br /&gt;&lt;a href="http://abhijitjana.files.wordpress.com/2010/10/sessionwebfarm.png"&gt;&lt;img alt="sessionWebfarm" border="0" height="235" src="http://abhijitjana.files.wordpress.com/2010/10/sessionwebfarm_thumb.png?w=432&amp;amp;h=235" style="border-bottom: 0; border-left: 0; border-right: 0; border-top: 0; display: block; float: none; margin-left: auto; margin-right: auto;" title="sessionWebfarm" width="432" /&gt;&lt;/a&gt;In  the above diagram,&amp;nbsp; you can see we can both the IIS server sharing the  same session data which is stored in out of worker process.&amp;nbsp; You can  read one of my previous article “&lt;a href="http://www.codeproject.com/KB/aspnet/ExploringSession.aspx" target="_blank"&gt;Exploring Session in ASP.NET&lt;/a&gt;” where I have explained how you can configure session mode for Out Process mode.&lt;br /&gt;&lt;strong&gt;How to manage session in Web Garden Mode ?&lt;/strong&gt;&lt;br /&gt;When we are using Web garden where request is being taking care by  different worker process we have to make the session mode as out process  session mode as described earlier. For Web Garden we have configure the  out process with in same server but for different worker process. &lt;br /&gt;&lt;a href="http://abhijitjana.files.wordpress.com/2010/10/webgardensession2.png"&gt;&lt;img alt="webgardenSession2" border="0" height="168" src="http://abhijitjana.files.wordpress.com/2010/10/webgardensession2_thumb.png?w=264&amp;amp;h=168" style="border-bottom: 0; border-left: 0; border-right: 0; border-top: 0; display: block; float: none; margin-left: auto; margin-right: auto;" title="webgardenSession2" width="264" /&gt;&lt;/a&gt;&lt;br /&gt;While using Web garden with your application you need do couple of configuration settings in web.config in &amp;lt;&lt;em&gt;process Model&lt;/em&gt;&amp;gt; section where you need to set certain properties like &lt;em&gt;cpuMask&lt;/em&gt;, &lt;em&gt;RequestLimit&lt;/em&gt;, &lt;em&gt;webGarden&lt;/em&gt;, &lt;em&gt;ClientConnectCheck&lt;/em&gt; etc. &lt;br /&gt;&lt;strong&gt;Summary :&lt;/strong&gt; When we host a web application over  multiple web server to distributed the load among them&amp;nbsp; is called Web  Farm and when One application having multiple worker worker process  called Web garden. &lt;br /&gt;In this blog post I have explained the very basics of what Web Farm  is and what Web Garden is. As this blog post contains the basic  information to understand the fundamentals of&amp;nbsp; web farms and web garden  concept, I will be posting a separate article with details configuration  setting for web garden and web farm.&amp;nbsp; You can read those below articles  for more information&lt;br /&gt;&amp;nbsp;&lt;a href="http://www.iis-aid.com/articles/performance_testing/boosting_performance_using_an_iis_web_garden" target="_blank"&gt;Boosting performance using an IIS web garden&lt;/a&gt;&lt;br /&gt;&amp;nbsp;&lt;a href="http://accidentaltechnologist.com/microsoft/how-to-configure-session-state-in-a-windows-web-farm/" target="_blank"&gt;How-To Configure Session State in a Windows Web Farm&lt;/a&gt;.&amp;nbsp; &lt;br /&gt;&lt;a href="http://www.dotnet-guide.com/role-of-web-gardens-and-web-farms-in-asp.net.html" target="_blank"&gt;Role of Web gardens and web farms in ASP.NET&lt;/a&gt;&lt;br /&gt;Hope this will help you.</content><link rel='replies' type='application/atom+xml' href='http://iisadmins.blogspot.com/feeds/6907432897249970592/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://iisadmins.blogspot.com/2011/04/difference-between-web-farm-and-web.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8251212359688996660/posts/default/6907432897249970592'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8251212359688996660/posts/default/6907432897249970592'/><link rel='alternate' type='text/html' href='http://iisadmins.blogspot.com/2011/04/difference-between-web-farm-and-web.html' title='Difference between Web Farm and Web Garden in IIS ?'/><author><name>Jawahar Adityan</name><uri>https://plus.google.com/111255894595346601465</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-2YAc3s1Mnh0/AAAAAAAAAAI/AAAAAAAAHW0/5JUOixENRos/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8251212359688996660.post-4122629941647389210</id><published>2011-04-13T15:51:00.000+05:30</published><updated>2011-04-13T15:51:24.842+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='worker process'/><category scheme='http://www.blogger.com/atom/ns#' term='asp.net'/><title type='text'>How To Identify The Worker Process (w3wp.exe) For Debugging an ASP.NET application</title><content type='html'>If you are debugging a ASP.NET web application which is hosted on  IIS, you need to attach the particular worker process in Visual Studio  to start debugging. To Attach a process we can go to &lt;span style="color: navy;"&gt;&lt;em&gt;Tools &amp;gt; Attach Process&lt;/em&gt;&lt;/span&gt; or use shortcut key &lt;span style="color: navy;"&gt;&lt;em&gt;Ctrl +P&lt;/em&gt;&lt;/span&gt;. The process window will show the &lt;span style="color: navy;"&gt;&lt;em&gt;worker process (w3wp.exe)&lt;/em&gt;&lt;/span&gt; which is currently running on IIS. You need to select the process and click on attach button&amp;nbsp;to start the debugging.&lt;br /&gt;Problem starts when you have&lt;span style="color: #003366;"&gt;&lt;em&gt; multiple worker process running on IIS&lt;/em&gt;&lt;/span&gt;.&amp;nbsp;  If you have multiple sites hosted on IIS and each site having their own  application pool then you will see the list of all worker process in  the Process Attach window.&lt;br /&gt;&lt;img alt="" class="alignnone" height="218" src="http://www.codeproject.com/KB/aspnet/ProcessAttache/debugg9_1.gif" width="492" /&gt;&lt;br /&gt;Here &amp;nbsp;you need to identify the particular worker process which is associated with your application pool.&lt;br /&gt;&lt;strong&gt;&lt;span style="color: navy;"&gt;Note:&lt;/span&gt;&lt;/strong&gt; Whenever we create a new Application Pool, the ID of the Application Pool is being generated and it’s registered with the &lt;span style="color: navy;"&gt;&lt;em&gt;HTTP.SYS&lt;/em&gt;&lt;/span&gt; (&lt;span style="color: navy;"&gt;&lt;em&gt;Kernel Level of IIS&lt;/em&gt;&lt;/span&gt;) . So whenever &lt;span style="color: navy;"&gt;&lt;em&gt;HTTP.SYS&lt;/em&gt;&lt;/span&gt;  Received the request from any web application, &amp;nbsp;it checks for the  Application Pool and based on the application pool it send the request &lt;span id="more-951"&gt;&lt;/span&gt;&lt;br /&gt;To know more about &lt;span style="color: navy;"&gt;&lt;em&gt;IIS Request Process&lt;/em&gt;&lt;/span&gt;, here is one of my aticle &lt;a href="http://abhijitjana.net/2010/03/14/beginner%E2%80%99s-guide-how-iis-process-asp-net-request/" target="_blank"&gt;How IIS Process ASP.NET Request&lt;/a&gt;&lt;br /&gt;&lt;span style="color: navy;"&gt;&lt;strong&gt;Identify Worker Process in IIS 6.0&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: navy;"&gt;&lt;strong&gt; &lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;•&amp;nbsp;Start &amp;gt; Run &amp;gt; Cmd&lt;br /&gt;•&amp;nbsp;Go To &lt;span style="color: navy;"&gt;Windows &amp;gt; System32&lt;/span&gt;&lt;br /&gt;•&amp;nbsp;Run &lt;span style="color: navy;"&gt;cscript iisapp.vbs&lt;br /&gt;&lt;/span&gt;•&amp;nbsp;You will get the list of &lt;span style="color: navy;"&gt;Running Worker ProcessID&lt;/span&gt; and the &lt;span style="color: navy;"&gt;Application Pool Name&lt;/span&gt;.&lt;br /&gt;&lt;img alt="" class="alignnone" height="154" src="http://www.codeproject.com/KB/aspnet/ProcessAttache/debugg13.jpg" width="557" /&gt;&lt;br /&gt;So, here is your list of all worker process with corresponding  application pool name.&amp;nbsp;&amp;nbsp;From &amp;nbsp;the Application pool name you can easily  identify which worker process is related with your application.&lt;br /&gt;&lt;span style="color: navy;"&gt;&lt;strong&gt;Identify Worker Process in IIS 7.0&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: navy;"&gt;&lt;strong&gt; &lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;From IIS 7.0 you need you to run IIS Command Tool ( &lt;span style="color: navy;"&gt;appcmd&lt;/span&gt; ) .&lt;br /&gt;•&amp;nbsp;Start &amp;gt; Run &amp;gt; Cmd&lt;br /&gt;•&amp;nbsp;Go To &lt;span style="color: navy;"&gt;&lt;em&gt;Windows &amp;gt; System32 &amp;gt; Inetsrv&lt;br /&gt;&lt;/em&gt;&lt;/span&gt;•&amp;nbsp;Run &lt;span style="color: navy;"&gt;appcmd list wp&lt;/span&gt;&lt;br /&gt;This will show you list worker process that is running on IIS 7.0 in the similar format of IIS 6.0</content><link rel='replies' type='application/atom+xml' href='http://iisadmins.blogspot.com/feeds/4122629941647389210/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://iisadmins.blogspot.com/2011/04/how-to-identify-worker-process-w3wpexe.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8251212359688996660/posts/default/4122629941647389210'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8251212359688996660/posts/default/4122629941647389210'/><link rel='alternate' type='text/html' href='http://iisadmins.blogspot.com/2011/04/how-to-identify-worker-process-w3wpexe.html' title='How To Identify The Worker Process (w3wp.exe) For Debugging an ASP.NET application'/><author><name>Jawahar Adityan</name><uri>https://plus.google.com/111255894595346601465</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-2YAc3s1Mnh0/AAAAAAAAAAI/AAAAAAAAHW0/5JUOixENRos/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8251212359688996660.post-9217303759074301978</id><published>2011-04-13T15:41:00.002+05:30</published><updated>2011-04-13T15:41:51.465+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='2011'/><category scheme='http://www.blogger.com/atom/ns#' term='worker process'/><category scheme='http://www.blogger.com/atom/ns#' term='asp.net'/><title type='text'>How IIS Process ASP.NET Request</title><content type='html'>&lt;h3&gt;Introduction&lt;/h3&gt;When request come from client to the server a lot of operation is  performed before sending response to the client. This is all about how  IIS Process the request.&amp;nbsp; Here I am not going to describe the Page Life  Cycle and there events, this article is all about the operation of IIS  Level.&amp;nbsp; Before we start with the actual details, let’s start from the  beginning so that each and everyone understand it’s details easily.&amp;nbsp;  Please provide your valuable feedback and suggestion to improve this  article.&lt;br /&gt;&lt;h3&gt;What is Web Server ?&lt;/h3&gt;When we run our ASP.NET Web Application from visual studio IDE, VS  Integrated ASP.NET Engine is responsible to execute all kind of asp.net  requests and responses.&amp;nbsp; The process name is&lt;b&gt; "WebDev.WebServer.Exe"&lt;/b&gt; which actually takw care of all request and response of an web application which is running from Visual Studio IDE.&lt;br /&gt;Now, the name &lt;i&gt;“Web Server” &lt;/i&gt;comes into picture when we want to  host the application on a centralized location and wanted to access from  many locations. Web server is responsible for handle all the requests  that are coming from clients, process them and provide the responses.&lt;br /&gt;&lt;img src="http://www.dotnetfunda.com/UserFiles/ArticlesFiles/Abhijit%20Jana_634041500763171406_Firstone.JPG" style="display: block; float: none; margin-left: auto; margin-right: auto;" /&gt;&lt;br /&gt;&lt;h3&gt;What is IIS ? &lt;/h3&gt;&lt;i&gt;IIS (Internet Information Server)&lt;/i&gt; is one of the most powerful  web servers from Microsoft that is used to host your ASP.NET Web  application. IIS has it’s own ASP.NET Process Engine&amp;nbsp; to handle the  ASP.NET request. So, when a request comes from client to server, IIS  takes that request and&amp;nbsp; process it and send response back to clients.&lt;br /&gt;&lt;img src="http://www.dotnetfunda.com/UserFiles/ArticlesFiles/Abhijit%20Jana_634041501029987812_IISProcessRequest.JPG" /&gt;&lt;br /&gt;&lt;h3&gt;Request Processing :&lt;/h3&gt;Hope, till now it’s clear to you that what is Web server and IIS is  and what is the use of them. Now let’s have a look how they do things  internally. Before we move ahead, you have to know about two main  concepts &lt;br /&gt;1.&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;i&gt;Worker Process&lt;/i&gt;    &lt;br /&gt;2.&amp;nbsp;&amp;nbsp; &lt;i&gt; Application Pool&lt;/i&gt;&lt;br /&gt;&lt;em&gt;&lt;/em&gt; &lt;br /&gt;&lt;u&gt;&lt;b&gt;Worker Process:&lt;/b&gt;&lt;/u&gt;&amp;nbsp; Worker Process (&lt;i&gt;w3wp.exe&lt;/i&gt;)  runs the ASP.Net application in IIS. This process is responsible to  manage all the request and response that are coming from client system.&amp;nbsp;  All the ASP.Net functionality runs under the scope of worker process.&amp;nbsp;  When a request comes to the server from a client worker process is  responsible to generate the request and response. In a single word we  can say worker process is the heart of ASP.NET Web Application which  runs on IIS.    &lt;br /&gt;&lt;u&gt;&lt;b&gt;Application Pool: &lt;/b&gt;&lt;/u&gt; Application pool is  the container of worker process.&amp;nbsp; Application pools is used to separate  sets of IIS worker processes that share the same configuration.&amp;nbsp;  Application pools enables a better &lt;i&gt;security, reliability, and availability&lt;/i&gt;  for any web application.&amp;nbsp; The worker process serves as the process  boundary that separates each application pool so that when one worker  process or application is having an issue or recycles, other  applications or worker processes are not affected. This makes sure that a  particular web application doesn’t not impact other web application as  they they are configured into different application pools.&lt;br /&gt;&lt;img src="http://www.dotnetfunda.com/UserFiles/ArticlesFiles/Abhijit%20Jana_634041500651403828_AppPool.JPG" /&gt;&lt;br /&gt;Application Pool with multiple worker process is called&lt;i&gt; “Web Garden”&lt;/i&gt;.    &lt;br /&gt;Now,  I have covered all the basic stuff like Web server, Application Pool,  Worker process. Now let’s have look how IIS process the request when a  new request comes up from client.    &lt;br /&gt;If we look into the IIS 6.0 Architecture, we can divided them into Two Layer &lt;br /&gt;&lt;blockquote&gt;1.&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;i&gt;Kernel Mode&lt;/i&gt;      &lt;br /&gt;2.&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;i&gt;User Mode&lt;/i&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;em&gt;&lt;/em&gt; &lt;br /&gt;Now, &lt;strong&gt;&lt;em&gt;Kernel mode&lt;/em&gt;&lt;/strong&gt; is introduced with IIS 6.0, which contains the &lt;b&gt;HTTP.SYS&lt;/b&gt;.&amp;nbsp; So whenever a request comes from Client to Server, it will hit &lt;i&gt;HTTP.SYS&lt;/i&gt; First.&lt;br /&gt;&lt;img src="http://www.dotnetfunda.com/UserFiles/ArticlesFiles/Abhijit%20Jana_634041500723005391_BasicLevel.JPG" /&gt;&lt;br /&gt;Now, HTTP.SYS is Responsible for pass the request to particular Application pool. &lt;i&gt;Now here is one question&lt;/i&gt;, &lt;u&gt;&lt;i&gt;How HTTP.SYS comes to know where to send the request?&lt;/i&gt;&lt;/u&gt;&amp;nbsp; This is &lt;u&gt;not a random&lt;/u&gt;  pickup. Whenever we creates a new Application Pool, the ID of the  Application Pool is being generated and it’s registered with the  HTTP.SYS. So whenever HTTP.SYS Received the request from any web  application, it checks for the Application Pool and based on the  application pool it send the request. &lt;br /&gt;&lt;img src="http://www.dotnetfunda.com/UserFiles/ArticlesFiles/Abhijit%20Jana_634041501112380391_RegisterApp.JPG" /&gt;&lt;br /&gt;So, this was the first steps of IIS Request Processing.   &lt;br /&gt;Till  now, Client Requested for some information and request came to the  Kernel level of IIS means at HTTP.SYS. HTTP.SYS has been identified the  name of the application pool where to send. Now, let’s see how this  request moves from HTTP.SYS to Application Pool. &lt;br /&gt;In &lt;strong&gt;&lt;em&gt;User Level &lt;/em&gt;&lt;/strong&gt;of IIS, we have &lt;u&gt;&lt;i&gt;Web Admin Services (WAS)&lt;/i&gt;&lt;/u&gt; which takes the request from HTTP.SYS and pass it to the respective application pool.&lt;br /&gt;&lt;img src="http://www.dotnetfunda.com/UserFiles/ArticlesFiles/Abhijit%20Jana_634041501155671406_Was.JPG" /&gt;&lt;br /&gt;When Application pool receive the request, it simply pass the request to worker process (&lt;u&gt;w3wp.exe&lt;/u&gt;) . The worker process &lt;i&gt;“w3wp.exe”&lt;/i&gt;  looks up the URL of the request in order to load the correct ISAPI  extension. ISAPI extensions are the IIS way to handle requests for  different resources. Once ASP.NET is installed, it installs its own  ISAPI extension &lt;u&gt;(aspnet_isapi.dll)&lt;/u&gt; and adds the mapping into IIS.&amp;nbsp;&amp;nbsp; &lt;br /&gt;&lt;b&gt;Note :&lt;/b&gt; Sometimes if we install IIS after installing asp.net, we need to register the extension with IIS using &lt;b&gt;aspnet_regiis&lt;/b&gt; command.&lt;br /&gt;&lt;img src="http://www.dotnetfunda.com/UserFiles/ArticlesFiles/Abhijit%20Jana_634041501195202656_WithAll.JPG" /&gt;&lt;br /&gt;When Worker process loads the &lt;i&gt;aspnet_isapi.dll&lt;/i&gt;, it start an &lt;b&gt;&lt;i&gt;HTTPRuntime&lt;/i&gt;&lt;/b&gt;, which is the entry point of an application. &lt;i&gt;HTTPRuntime &lt;/i&gt;is a class which calls the &lt;i&gt;ProcessRequest &lt;/i&gt;method to start Processing.&lt;br /&gt;&lt;img src="http://www.dotnetfunda.com/UserFiles/ArticlesFiles/Abhijit%20Jana_634041501078679219_ProcessRequest.JPG" /&gt;&lt;br /&gt;When this methods called, a new instance of &lt;i&gt;&lt;b&gt;HTTPContext &lt;/b&gt;&lt;/i&gt;is been created.&amp;nbsp; Which is accessible using &lt;b&gt;HTTPContext.Current&lt;/b&gt;&amp;nbsp;  Properties. This object still remains alive during life time of object  request.&amp;nbsp; Using HttpContext.Current we can access some other objects  like &lt;i&gt;Request, Response, Session&lt;/i&gt; etc. &lt;br /&gt;&lt;img src="http://www.dotnetfunda.com/UserFiles/ArticlesFiles/Abhijit%20Jana_634041500806755391_HttpContext.JPG" /&gt;&lt;br /&gt;After that HttpRuntime load an &lt;i&gt;HttpApplication &lt;/i&gt;object with the help of&amp;nbsp; &lt;i&gt;HttpApplicationFactory &lt;/i&gt;class..  Each and every request should pass through the corresponding HTTPModule  to reach to HTTPHandler, this list of module are configured by the  HTTPApplication.    &lt;br /&gt;Now, the concept comes called “&lt;b&gt;HTTPPipeline&lt;/b&gt;”.  It is called a pipeline because it contains a set of HttpModules ( For  Both Web.config and Machine.config level) that intercept the request on  its way to the HttpHandler. HTTPModules are classes that have access to  the incoming request. We can also create our own HTTPModule if we need  to handle anything during upcoming request and response.&lt;br /&gt;&lt;img src="http://www.dotnetfunda.com/UserFiles/ArticlesFiles/Abhijit%20Jana_634041500917175312_httppipleline.JPG" /&gt;&lt;br /&gt;HTTP Handlers are the &lt;u&gt;&lt;i&gt;endpoints &lt;/i&gt;&lt;/u&gt;in the HTTP pipeline.  All request that are passing through the HTTPModule should reached to  HTTPHandler.&amp;nbsp; Then&amp;nbsp; HTTP Handler&amp;nbsp; generates the output for the requested  resource. So, when we requesting for any aspx web pages,&amp;nbsp;&amp;nbsp; it returns  the corresponding HTML output. &lt;br /&gt;All the request now passes from&amp;nbsp; httpModule to&amp;nbsp; respective  HTTPHandler then method and the ASP.NET Page life cycle starts.&amp;nbsp; This  ends the IIS Request processing and start the ASP.NET Page Lifecycle.&lt;br /&gt;&lt;img src="http://www.dotnetfunda.com/UserFiles/ArticlesFiles/Abhijit%20Jana_634041500577575703_allStep.JPG" /&gt;&lt;br /&gt;&lt;h3&gt;Conclusion&lt;/h3&gt;When client request for some information from a web server, request  first reaches to HTTP.SYS of IIS. HTTP.SYS then send the request to  respective&amp;nbsp; Application Pool. Application Pool then forward the request  to worker process to load the ISAPI Extension which will create an  HTTPRuntime Object to Process the request via HTTPModule and  HTTPHanlder. After that the ASP.NET Page LifeCycle events starts.&lt;br /&gt;This was just overview of IIS Request Processing to let Beginner’s  know how the request get processed in backend.&amp;nbsp; If you want to learn in  details please check the link for Reference and further Study section.&lt;br /&gt;&lt;h3&gt;Reference and Further Study &lt;/h3&gt;&lt;br /&gt;&lt;a href="http://www.west-wind.com/presentations/howaspnetworks/howaspnetworks.asp"&gt;A low-level Look at the ASP.NET Architecture&lt;/a&gt;  &lt;br /&gt;&lt;a href="http://learn.iis.net/page.aspx/101/introduction-to-iis-7-architecture/"&gt;IIS Architecture&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://iisadmins.blogspot.com/feeds/9217303759074301978/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://iisadmins.blogspot.com/2011/04/how-iis-process-aspnet-request.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8251212359688996660/posts/default/9217303759074301978'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8251212359688996660/posts/default/9217303759074301978'/><link rel='alternate' type='text/html' href='http://iisadmins.blogspot.com/2011/04/how-iis-process-aspnet-request.html' title='How IIS Process ASP.NET Request'/><author><name>Jawahar Adityan</name><uri>https://plus.google.com/111255894595346601465</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-2YAc3s1Mnh0/AAAAAAAAAAI/AAAAAAAAHW0/5JUOixENRos/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8251212359688996660.post-5656219814637225406</id><published>2011-02-09T17:59:00.001+05:30</published><updated>2011-02-09T17:59:06.073+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Troubleshooting'/><title type='text'>Troubleshooting: Could not start the IIS Admin Service on Local Computer</title><content type='html'>Q.) When I try to start the IIS Admin Service from services.msc I receive the  following error:&lt;br /&gt;&lt;blockquote&gt;Could not start the IIS Admin Service on Local  Computer&lt;br /&gt;Error2: The system cannot find the file specified.&lt;/blockquote&gt;At  the same time I can also see the following message in the System event  log:&lt;br /&gt;&lt;blockquote&gt;Error: The IIS Admin service terminated with the following error.  The system cannot find the file specified&lt;br /&gt;&lt;br /&gt;Source Name: Service Control  Manager&lt;br /&gt;&lt;br /&gt;Event ID: 7023&lt;/blockquote&gt;Ans.)This  error usually occurs when the  MetaBase.xml file is either missing or  has been corrupted. MetaBase.xml is the  file wherein the IIS 6  configurations are written to and read from.&lt;br /&gt;&lt;blockquote&gt;The default   location for MetaBase.xml is C:\WINDOWS\system32\inetsrv\ . The default  location for MetaBase.xml file back up is   C:\WINDOWS\system32\inetsrv\History\&lt;/blockquote&gt;To solve this  problem you can  either restore the copy of the MetaBase.xml file (If  you have a separate backup) or grab a copy  from the History folder and  place it in the C:\WINDOWS\system32\inetsrv\ folder. After  which rename  it to MetaBase.xml. Rename it to MetaBase.xml? Yeah! That's because in  the  History folder you will find the backup in the form   MetaBase_0000000244_0000000000.xml . Subsequently, you will also find  backups of the MBSchema.xml in the same format.&lt;br /&gt;&lt;br /&gt;The MetaBase.xml  file is backed up  whenever you make any configurational changes to  websites, application pools or any IIS related settings. By default,  C:\WINDOWS\system32\inetsrv\History\  contains 10 most recent backups.  However, this property itself can be changed  from MetaBase.xml. Here's  how to do it,&lt;br /&gt;&lt;br /&gt;Open up  Metabase.xml file in your favorite text  editor. Now look for the section that  says  IIsComputer. In this  section you will find an entry which says,  "MaxHistoryFiles". By  default, the value of this property is set to 10. You can  change that  value to whatever you want. Save the changes and start the IIS Admin   Service.&lt;br /&gt;&lt;br /&gt;All said, this is not the recommended way of changing the  MetaBase.xml file :) &lt;span style="color: red;"&gt;Do not change the Metabase.xml file directly until you are  very certain of what you are doing&lt;/span&gt;. But, if not this way then how? Very simple,  just run the following command from the command prompt:&lt;blockquote&gt;cscript.exe  adsutil.vbs set /MaxHistoryFiles "12"&lt;/blockquote&gt;As  you can notice I am changing  the value of the maximum history file to  12. You can place any number there that  you want. Now here's something  interesting! There may be cases where in you will  open the MetaBase.xml  file after running the above command and do not see your  change  reflected. The changes only reflected after you restart the IIS Admin   Service. Well that's because you do not have &lt;span style="font-weight: bold;"&gt;Enable Direct MetaBase Edit&lt;/span&gt;  check  box selected in the IIS properties. To see the changes take  effect  instantaneously run this command from the command prompt:&lt;br /&gt;&lt;blockquote&gt;cscript.exe  adsutil.vbs set /EnableEditWhileRunning "1"&lt;/blockquote&gt;&lt;span style="font-style: italic;"&gt;Note:&lt;/span&gt;  Sometimes after you  restart the IIS admin service, the websites are in  stopped state and you will  have to start them manually to get going.&lt;br /&gt;&lt;blockquote&gt;Update  21/08/2008: I wouldn't want you to enable Direct Metabase Edit for this  scenario, as I figured out that when you use Adsutil.vbs the changes  are made into the IN-MEMORY metabase.They will be reflected  instantaneously in your environment and will then be written to the  physical Metabase.xml after 2 mins.&lt;/blockquote&gt;Now you are all set to   reflect changes as soon as they are made. However never do this on a  production  box. This was shown for instructional purposes so that we  move along  quickly. :) To de-select the &lt;span style="font-weight: bold;"&gt;Enable Direct MetaBase Edit&lt;/span&gt; check  box run this command&lt;br /&gt;&lt;blockquote&gt;cscript.exe  adsutil.vbs set /EnableEditWhileRunning "0"&lt;/blockquote&gt;Problem solved and we also know a little about MetaBase.xml  file now. Let me know if you have any issues!&lt;br /&gt;&lt;br /&gt;I will soon be coming out with posts on IIS command line utilities and Metabase.xml</content><link rel='replies' type='application/atom+xml' href='http://iisadmins.blogspot.com/feeds/5656219814637225406/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://iisadmins.blogspot.com/2011/02/troubleshooting-could-not-start-iis.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8251212359688996660/posts/default/5656219814637225406'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8251212359688996660/posts/default/5656219814637225406'/><link rel='alternate' type='text/html' href='http://iisadmins.blogspot.com/2011/02/troubleshooting-could-not-start-iis.html' title='Troubleshooting: Could not start the IIS Admin Service on Local Computer'/><author><name>Jawahar Adityan</name><uri>https://plus.google.com/111255894595346601465</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-2YAc3s1Mnh0/AAAAAAAAAAI/AAAAAAAAHW0/5JUOixENRos/s512-c/photo.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8251212359688996660.post-6836765960644604254</id><published>2010-05-14T19:49:00.002+05:30</published><updated>2010-05-14T19:49:35.243+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Clustering'/><title type='text'>Web Server Clustering</title><content type='html'>&lt;span class="Apple-style-span" style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;div class="title" style="color: black; font-family: Arial, Helvetica, sans-serif; font-style: normal; font-variant: normal; font-weight: bold; line-height: normal; margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div id="mainSection"&gt;&lt;div id="mainBody"&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;div style="margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;strong&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;Microsoft Internet Information Server&lt;/span&gt;&lt;/strong&gt;&lt;/div&gt;&lt;div style="margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;strong&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;Abstract&lt;/span&gt;&lt;/strong&gt;&lt;/div&gt;&lt;div style="margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;This white paper is an overview of clustering technologies as they relate to Web servers, specifically Microsoft® Internet Information Server (IIS), Windows Clustering, Microsoft Windows® 2000 Advanced Server Network Load Balancing (NLB), Microsoft Windows NT® Load Balancing Service (WLBS), and other industry standards as they are defined by their associated Request for Comments (RFC) documents.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;This white paper describes different techniques for implementing your highly available Internet presence.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;This white paper assumes that you are familiar with Microsoft Windows NT Server 4.0, Microsoft Windows 2000 Server, Microsoft Windows 2000 Advanced Server, Microsoft Windows 2000 Datacenter Server, Internet Information Server, Transmission Control Protocol/Internet Protocol (TCP/IP), and Domain Name System (DNS). You should also be familiar with the World Wide Web Consortium (W3C) and Request for Comments (RFC).&lt;/span&gt;&lt;/div&gt;&lt;h5 style="font-weight: 700;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;On This Page&lt;/span&gt;&lt;/h5&gt;&lt;div style="margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;&lt;a href="http://technet.microsoft.com/en-us/library/bb742600.aspx#ECAA" style="color: purple; text-decoration: none;"&gt;&lt;/a&gt;&lt;/span&gt;&lt;a href="http://technet.microsoft.com/en-us/library/bb742600.aspx#ECAA" style="color: purple; text-decoration: none;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;Description of a Server Cluster&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;&lt;br /&gt;&lt;a href="http://technet.microsoft.com/en-us/library/bb742600.aspx#EBAA" style="color: purple; text-decoration: none;"&gt;&lt;/a&gt;&lt;/span&gt;&lt;a href="http://technet.microsoft.com/en-us/library/bb742600.aspx#EBAA" style="color: purple; text-decoration: none;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;Internet Information Server on MSCS&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;&lt;br /&gt;&lt;a href="http://technet.microsoft.com/en-us/library/bb742600.aspx#EAAA" style="color: #0033cc; text-decoration: none;"&gt;&lt;/a&gt;&lt;/span&gt;&lt;a href="http://technet.microsoft.com/en-us/library/bb742600.aspx#EAAA" style="color: #0033cc; text-decoration: none;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;For More Information&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;h3 id="ECAA" style="font-weight: 700;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;Description of a Server Cluster&lt;/span&gt;&lt;/h3&gt;&lt;div style="margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;A server cluster is a group of independent servers that are managed as a single system for higher availability, easier manageability, and greater scalability.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;In a Web server environment, server clusters can be defined in two basic ways:&lt;/span&gt;&lt;/div&gt;&lt;ul style="line-height: 15px; list-style-position: outside; list-style-type: disc; margin-bottom: 15px;"&gt;&lt;li style="list-style-image: url(http://i3.technet.microsoft.com/Platform/MasterPages/Library/b.gif); margin-bottom: 3px; margin-left: 0px;"&gt;&lt;div style="margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;Active/Active&lt;/span&gt;&lt;/div&gt;&lt;ul style="line-height: 15px; list-style-position: outside; list-style-type: disc; margin-bottom: 4px; margin-left: 17px; margin-top: 3px;"&gt;&lt;li style="list-style-image: url(http://i3.technet.microsoft.com/Platform/MasterPages/Library/b.gif); margin-bottom: 3px; margin-left: 0px;"&gt;&lt;div style="margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;There are multiple independent, redundant servers&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style="list-style-image: url(http://i3.technet.microsoft.com/Platform/MasterPages/Library/b.gif); margin-bottom: 3px; margin-left: 0px;"&gt;&lt;div style="margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;The load is distributed through round-robin DNS&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style="list-style-image: url(http://i3.technet.microsoft.com/Platform/MasterPages/Library/b.gif); margin-bottom: 3px; margin-left: 0px;"&gt;&lt;div style="margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;The load is balanced by a load-balancing solution (for example, WLBS)&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li style="list-style-image: url(http://i3.technet.microsoft.com/Platform/MasterPages/Library/b.gif); margin-bottom: 3px; margin-left: 0px;"&gt;&lt;div style="margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;Active/Passive&lt;/span&gt;&lt;/div&gt;&lt;ul style="line-height: 15px; list-style-position: outside; list-style-type: disc; margin-bottom: 4px; margin-left: 17px; margin-top: 3px;"&gt;&lt;li style="list-style-image: url(http://i3.technet.microsoft.com/Platform/MasterPages/Library/b.gif); margin-bottom: 3px; margin-left: 0px;"&gt;&lt;div style="margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;Multiple servers are configured to provide a service&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style="list-style-image: url(http://i3.technet.microsoft.com/Platform/MasterPages/Library/b.gif); margin-bottom: 3px; margin-left: 0px;"&gt;&lt;div style="margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;Only a single server provides the service at any given time&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style="list-style-image: url(http://i3.technet.microsoft.com/Platform/MasterPages/Library/b.gif); margin-bottom: 3px; margin-left: 0px;"&gt;&lt;div style="margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;Other servers serve as hot-spares in case of a server (service) problem&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h4 style="font-weight: 700;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;Active/Active Solutions&lt;/span&gt;&lt;/h4&gt;&lt;div style="margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;strong&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;Round-Robin DNS—RFC 1794&lt;/span&gt;&lt;/strong&gt;&lt;/div&gt;&lt;div style="margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;Round-robin DNS is a method for managing server congestion by distributing requests between multiple servers.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;By using the round-robin DNS method, multiple DNS 'A' records are created for the Fully Qualified Domain Name (FQDN) that the client is trying to access. Each 'A' record lists the FQDN and the individual IP address for each node in the Web farm. Each client request resolves to a different IP address (based on the number of 'A' records). This allows incoming requests to be mapped to different servers in the Web farm.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;Round-robin is not typically considered load balancing. Load balancing distributes connection loads across multiple servers, giving preference to those servers with the least amount of congestion. By using the round-robin method, server distribution remains on a rotating basis, one IP address to one user, with no regard to server congestion. DNS simply responds with the next 'A' record in the entry for that FQDN.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;Round-robin DNS provides no fault tolerance or fault detection. That is, if a server stops working, DNS continues to distribute that server's IP address.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;strong&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;Load Balancing&lt;/span&gt;&lt;/strong&gt;&lt;/div&gt;&lt;div style="margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;A load balancer processes requests and relays them to server address clusters. A server address cluster has the following properties:&lt;/span&gt;&lt;/div&gt;&lt;ul style="line-height: 15px; list-style-position: outside; list-style-type: disc; margin-bottom: 15px;"&gt;&lt;li style="list-style-image: url(http://i3.technet.microsoft.com/Platform/MasterPages/Library/b.gif); margin-bottom: 3px; margin-left: 0px;"&gt;&lt;div style="margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;Has an FQDN in the domain namespace (for example, www.microsoft.com)&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;Has a pool of valid IP addresses to computers that can fulfill the requested service that is associated with the FQDN. That is, if the FQDN is to provide Web services, each IP address must correspond to an HTTP server (for example, Internet Information Server). These IP addresses can be valid IP addresses that are assigned by Internet Assigned Numbers Authority to you, or they can be IP addresses in the private address space as defined by RFC 1918:&amp;nbsp;&lt;/span&gt;&lt;em&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;Address Allocation for Private Internets&lt;/span&gt;&lt;/em&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;. For example:&lt;/span&gt;&lt;/div&gt;&lt;ul style="line-height: 15px; list-style-position: outside; list-style-type: disc; margin-bottom: 4px; margin-left: 17px; margin-top: 3px;"&gt;&lt;li style="list-style-image: url(http://i3.technet.microsoft.com/Platform/MasterPages/Library/b.gif); margin-bottom: 3px; margin-left: 0px;"&gt;&lt;div style="margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;Class A (10.0.0.0 through 10.255.255.255)&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style="list-style-image: url(http://i3.technet.microsoft.com/Platform/MasterPages/Library/b.gif); margin-bottom: 3px; margin-left: 0px;"&gt;&lt;div style="margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;Class B (172.16.0.0 through 172.31.255.255)&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style="list-style-image: url(http://i3.technet.microsoft.com/Platform/MasterPages/Library/b.gif); margin-bottom: 3px; margin-left: 0px;"&gt;&lt;div style="margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;Class C (192.168.0.0 through 192.168.255.255)&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li style="list-style-image: url(http://i3.technet.microsoft.com/Platform/MasterPages/Library/b.gif); margin-bottom: 3px; margin-left: 0px;"&gt;&lt;div style="margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;Uses a load specification from a list of predetermined load formulas. (For specific details, see the documentation for your load-balancing solution.)&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div style="margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;Optional features to be provided by the specific solution include:&lt;/span&gt;&lt;/div&gt;&lt;ul style="line-height: 15px; list-style-position: outside; list-style-type: disc; margin-bottom: 15px;"&gt;&lt;li style="list-style-image: url(http://i3.technet.microsoft.com/Platform/MasterPages/Library/b.gif); margin-bottom: 3px; margin-left: 0px;"&gt;&lt;div style="margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;A TCP port that is designated to test for a server heartbeat. These tests only verify that the server is responding on the TCP level. For example, a server heartbeat for Internet Information Server (IIS) can perform an HTTP trace request (RFC 2069, Section 9.8), which checks to verify if the programs that are requested (in this case, HTTP services) are available on the requested server.&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style="list-style-image: url(http://i3.technet.microsoft.com/Platform/MasterPages/Library/b.gif); margin-bottom: 3px; margin-left: 0px;"&gt;&lt;div style="margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;A specification for a fail-over server in the event that all computers become unavailable.&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style="list-style-image: url(http://i3.technet.microsoft.com/Platform/MasterPages/Library/b.gif); margin-bottom: 3px; margin-left: 0px;"&gt;&lt;div style="margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;A balance interval to determine how much time to wait between balance cycles.&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div style="margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;strong&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;Windows NT Load Balancing Service and Windows 2000 Network Load Balancing&lt;/span&gt;&lt;/strong&gt;&lt;/div&gt;&lt;div style="margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;Windows NT Load Balancing Service (WLBS), a component of Windows NT Server 4.0, Enterprise Edition, allows for the balancing of many TCP or IP-based services, including, but not limited to, WWW and FTP. This runs on a single Windows NT Server 4.0-based computer, and balances the request between any number of individual servers that provide a TCP or IP service.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;For additional information about WLBS, see the following Web site:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;a href="http://www.microsoft.com/technet/archive/winntas/deploy/depovg/wlbsdepl.mspx" id="ctl00_MTCS_main_ctl01" style="color: #0033cc; text-decoration: none;" target="_blank"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;http://www.microsoft.com/technet/archive/winntas/deploy/depovg/wlbsdepl.mspx&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;For Windows 2000, load balancing is implemented in Windows 2000 Advanced Server as Network Load Balancing (NLB).&lt;/span&gt;&lt;/div&gt;&lt;h4 style="font-weight: 700;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;Active/Passive Solution&lt;/span&gt;&lt;/h4&gt;&lt;div style="margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;Windows NT Server 4.0 supports two-node clustering through Microsoft Cluster Server (MSCS), which is included as a component of Windows NT Server 4.0, Enterprise Edition. Additional information about MSCS is available in the MSCS FAQ, which is located at:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;a href="http://www.microsoft.com/ntserver/support/faqs/clustering_faq.asp" id="ctl00_MTCS_main_ctl02" style="color: #0033cc; text-decoration: none;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;http://www.microsoft.com/ntserver/support/faqs/clustering_faq.asp&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;Windows 2000 Advanced Server supports two-node clustering. Clustering information for Windows 2000 Advanced Server is available at:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;a href="http://www.microsoft.com/business/default.mspx" id="ctl00_MTCS_main_ctl03" style="color: #0033cc; text-decoration: none;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;http://www.microsoft.com/business/default.mspx&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;Microsoft Windows 2000 Datacenter Server supports four-node clustering. Windows 2000 Datacenter Server information is available on the following Web site:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;a href="http://www.microsoft.com/windows2000/datacenter/" id="ctl00_MTCS_main_ctl04" style="color: #0033cc; text-decoration: none;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;http://www.microsoft.com/windows2000/datacenter/&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;A node is defined as a single installation of Windows NT Server 4.0, Enterprise Edition, on a server that has the following characteristics:&lt;/span&gt;&lt;/div&gt;&lt;ul style="line-height: 15px; list-style-position: outside; list-style-type: disc; margin-bottom: 15px;"&gt;&lt;li style="list-style-image: url(http://i3.technet.microsoft.com/Platform/MasterPages/Library/b.gif); margin-bottom: 3px; margin-left: 0px;"&gt;&lt;div style="margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;Has local hardware (RAM, CPU, local boot, and system partitions for Windows NT)&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style="list-style-image: url(http://i3.technet.microsoft.com/Platform/MasterPages/Library/b.gif); margin-bottom: 3px; margin-left: 0px;"&gt;&lt;div style="margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;Has a network connection that enables it to communicate with an additional node&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style="list-style-image: url(http://i3.technet.microsoft.com/Platform/MasterPages/Library/b.gif); margin-bottom: 3px; margin-left: 0px;"&gt;&lt;div style="margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;Has a means to share a disk resource (for example, shared SCSI or Fibre Channel)&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;&lt;a href="http://technet.microsoft.com/en-us/library/bb742600.aspx#mainSection" style="color: #0033cc; text-decoration: none;"&gt;&lt;/a&gt;&lt;/span&gt;&lt;a href="http://technet.microsoft.com/en-us/library/bb742600.aspx#mainSection" style="color: #0033cc; text-decoration: none;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;Top of page&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;h3 id="EBAA" style="font-weight: 700;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;Internet Information Server on MSCS&lt;/span&gt;&lt;/h3&gt;&lt;div style="margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;IIS is designed as a high performance, highly scalable, highly extensible way to provide Web content. Depending on your definition of Web content, your recommended solution may be different. If you want to enlist static HTML with client-side scripting, or static content available to FTP users, you can use IIS as a standalone server to meet your needs. If you want to use IIS as a basis for Web programs, including ASP pages (or other server-side scripting), server-side COM objects, Microsoft Site Server, or Microsoft Commerce Server, and you want multiple redundant servers to meet the need for high availability, WLBS with multiple individual Web servers can help you to meet your goals.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;For information about installing IIS on MSCS, see the white paper located at:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;a href="http://www.microsoft.com/ntserver/techresources/deployment/enterprise/ntoption.asp" id="ctl00_MTCS_main_ctl05" style="color: #0033cc; text-decoration: none;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;http://www.microsoft.com/ntserver/techresources/deployment/enterprise/ntoption.asp&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;This white paper contains instructions on how to install and configure the WWW and FTP services for failover between two nodes.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;Having these services (and other services) on the cluster provides high availability for those resources.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;In this white paper,&amp;nbsp;&lt;/span&gt;&lt;em&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;resources&lt;/span&gt;&lt;/em&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;&amp;nbsp;are defined as basic system components that provide a service to clients in a client or server environment. These services can move freely from one node in the cluster to the other, but can only be online on one node at a time.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;In its simplest form, an IIS server is basically the following five resources:&lt;/span&gt;&lt;/div&gt;&lt;ul style="line-height: 15px; list-style-position: outside; list-style-type: disc; margin-bottom: 15px;"&gt;&lt;li style="list-style-image: url(http://i3.technet.microsoft.com/Platform/MasterPages/Library/b.gif); margin-bottom: 3px; margin-left: 0px;"&gt;&lt;div style="margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;An IP address&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style="list-style-image: url(http://i3.technet.microsoft.com/Platform/MasterPages/Library/b.gif); margin-bottom: 3px; margin-left: 0px;"&gt;&lt;div style="margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;A network name&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style="list-style-image: url(http://i3.technet.microsoft.com/Platform/MasterPages/Library/b.gif); margin-bottom: 3px; margin-left: 0px;"&gt;&lt;div style="margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;A Disk resource&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style="list-style-image: url(http://i3.technet.microsoft.com/Platform/MasterPages/Library/b.gif); margin-bottom: 3px; margin-left: 0px;"&gt;&lt;div style="margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;An IIS server instance&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style="list-style-image: url(http://i3.technet.microsoft.com/Platform/MasterPages/Library/b.gif); margin-bottom: 3px; margin-left: 0px;"&gt;&lt;div style="margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;A Microsoft Distributed Transaction Coordinator (MSDTC)&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div style="margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;These resources are maintained in a virtual state and owned by the active (owning) node of the cluster. They are virtual, in that they are reliant on the Cluster service and their individual resource DLLs, rather than an actual installation of Windows NT Server 4.0, Enterprise Edition.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;Content is maintained on the shared disk resource, so that it remains available in the event that a node becomes unavailable.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;Connections to resources are made through the virtual IP addresses. Therefore, the FQDN in DNS points to the IP address resource to which you have bound your IIS server instance.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;Microsoft Cluster Server provides an ideal environment for backend applications such as Microsoft SQL Server or Microsoft Exchange Server. However, MSCS is not ideal for IIS and a highly available Web presence. WLBS is more suited to the requirements of that environment.&lt;/span&gt;&lt;/div&gt;&lt;h4 style="font-weight: 700;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;IIS and MSCS Implementation&lt;/span&gt;&lt;/h4&gt;&lt;div style="margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;The SMTP and NNTP services in Microsoft Windows NT Option Pack on Windows NT Server 4.0 are not cluster-aware. That is, although you can install them, they do not fail over because they do not have a resource DLL. If you require e-mail and news services in a clustered environment, use Exchange Server. For additional information, see the following Web page:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;a href="http://www.microsoft.com/ntserver/partners/findoffering/serversolutions/exchange.asp?bprint=true" id="ctl00_MTCS_main_ctl06" style="color: #0033cc; text-decoration: none;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;http://www.microsoft.com/ntserver/partners/findoffering/serversolutions/exchange.asp?bPrint=True&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;Windows 2000 Advanced Server provides a resource DLL for the SMTP and NNTP services. Therefore, these services are cluster-aware in Windows 2000.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;Microsoft Outlook® Web Access is not supported on a cluster.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;For additional information about other Exchange Server components that are not supported in a cluster environment, see the Docs\Word_Docs\Clustering\Cluster.doc file on the Exchange Server 5.5 CD.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;ASP pages (and other server-side scripting) work in a cluster environment; however, because you must implement these as server-side COM objects that must exist and be registered on each node, their extensibility is limited. If you require Active Server Pages (ASP) in the Web server environment, use WLBS.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;Microsoft FrontPage® Server Extensions and Microsoft Index Server are not supported on MSCS.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;Site Server is not supported on MSCS. For additional information, see the following article in the Microsoft Knowledge Base:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;228999: Site Server 3.0 Services Cannot Be Configured to Work with MSCS&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;Active/Passive is the only way to use IIS on MSCS.&lt;/span&gt;&lt;/div&gt;&lt;h4 style="font-weight: 700;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;Windows NT Load Balancing Service&lt;/span&gt;&lt;/h4&gt;&lt;div style="margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;Load balancing in a Web farm is the preferred method for creating a highly available Web presence.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;Windows Load Balancing Service (WLBS) is a software-based load-balancing solution that is installed as a virtual Network Adapter driver that filters traffic to the physical adapter to which it is bound. At this layer, it distributes the requests based on the driver setup. This allows a client's requests to be passed unchanged to the server that can fulfill the client's request.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;WLBS provides the ability to assign client affinity to requests. This allows sessions to be maintained between client requests. This is in contrast to the round-robin DNS method in which every incoming request is sent to the next 'A' record in the DNS servers.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;The following list of resources provides information about the differences between using IIS on a cluster and WLBS for your high-availability Web site.&lt;/span&gt;&lt;/div&gt;&lt;ul style="line-height: 15px; list-style-position: outside; list-style-type: disc; margin-bottom: 15px;"&gt;&lt;li style="list-style-image: url(http://i3.technet.microsoft.com/Platform/MasterPages/Library/b.gif); margin-bottom: 3px; margin-left: 0px;"&gt;&lt;div style="margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;For a Web environment, the concept of a Web server cluster is best described in the following article:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;a href="http://technet.microsoft.com/en-us/library/bb742600.aspx" id="ctl00_MTCS_main_ctl07" style="color: purple; text-decoration: none;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;http://www.microsoft.com/technet/prodtechnol/windows2000serv/technologies/iis/deploy/confeat/webclust.mspx&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style="list-style-image: url(http://i3.technet.microsoft.com/Platform/MasterPages/Library/b.gif); margin-bottom: 3px; margin-left: 0px;"&gt;&lt;div style="margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;The following links contain a feature overview and a technical overview of WLBS:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;a href="http://www.microsoft.com/ntserver/productinfo/features/wlbsfeat.asp" id="ctl00_MTCS_main_ctl08" style="color: #0033cc; text-decoration: none;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;http://www.microsoft.com/ntserver/ProductInfo/features/WlbsFeat.asp&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;a href="http://www.microsoft.com/ntserver/productinfo/enterprise/wlbs.asp" id="ctl00_MTCS_main_ctl09" style="color: #0033cc; text-decoration: none;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;http://www.microsoft.com/ntserver/ProductInfo/Enterprise/Wlbs.asp&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;For Web farm content, there is no single disk resource for maintenance of your content, unless you point to a single file share; however, pointing to a single file share would likely create a network bottleneck. Therefore, content (and metadata) must be replicated between servers. You can accomplish this by using Site Server Content Replication and metabase deployment.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;Because of the nature of a Web farm (each server is independent of the other), the nodes in a Web farm do not communicate with one another to ensure responsiveness (as the heartbeat does in MSCS). WLBS automatically detects and removes unresponsive servers.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;The Microsoft Internet Information Server Resource Kit contains a utility (HTTPMon) that provides a graphical (Web-based) interface from which to monitor the servers in your Web farm.&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h4 style="font-weight: 700;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;Maintaining Session State in Web Server Clusters&lt;/span&gt;&lt;/h4&gt;&lt;div style="margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;HTTP (HTTP/1.1—RFC 2068) is a stateless (and connectionless) protocol. Therefore, to a Web server, each HTTP request is separate and unrelated to all other requests. There must be a way for the page to identify one user request from another outside of the protocol that is being used to make the request. Cookies are used for this.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;You can use cookies (HTTP State Management Mechanism—RFC 2616) in a Web farm through the ASP request and Response objects (and through other means). However, cookies are stored on the client, and are limited to 4,096 bytes.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;To overcome some of the shortcomings of cookies, session-aware load balancing through software or hardware is possible.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;You can accomplish session management while using round-robin DNS by using software in the form of IIS and ASP (a Session object), and the&amp;nbsp;&lt;/span&gt;&lt;strong&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;Session_OnStart&lt;/span&gt;&lt;/strong&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;&amp;nbsp;event when used in a Web program's Global.asa file.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;The following article contains additional information about the management of sessions through ASP pages:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;a href="http://msdn.microsoft.com/workshop/server/asp/active.asp" id="ctl00_MTCS_main_ctl10" style="color: #0033cc; text-decoration: none;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;http://msdn.microsoft.com/workshop/server/asp/active.asp&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;Another software-based session-management mechanism is instituted through Site Server Personalization, which uses a database server (SQL) that houses a User Property database that is a backend server that is available to all Web servers in the Web farm. For additional information, see the following Web site:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;a href="http://www.microsoft.com/siteserver/default.htm" id="ctl00_MTCS_main_ctl11" style="color: #0033cc; text-decoration: none;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;http://www.microsoft.com/siteserver/default.htm&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;For additional information about using Site Server to manage your sessions, see the following Web site:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;a href="http://msdn.microsoft.com/workshop/server/nextgen/sessiondata.asp" id="ctl00_MTCS_main_ctl12" style="color: #0033cc; text-decoration: none;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;http://msdn.microsoft.com/workshop/server/nextgen/sessiondata.asp&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;Hardware-based session management is controlled through session-distribution algorithms that are built into the hardware load-balancing solution. These algorithms map to servers in the Web farm based on an examination of the packet for the client IP address, port, and so on. This is done without modification to the packet. For example, in WLBS, this is controlled through affinity. For basic load balancing, you must set the&amp;nbsp;&lt;/span&gt;&lt;strong&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;Affinity&amp;nbsp;&lt;/span&gt;&lt;/strong&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;setting to&amp;nbsp;&lt;/span&gt;&lt;strong&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;None&lt;/span&gt;&lt;/strong&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;; to maintain state, choose&amp;nbsp;&lt;/span&gt;&lt;strong&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;Single of Class C&lt;/span&gt;&lt;/strong&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;. On Local Director from Cisco Systems, Inc., use the&amp;nbsp;&lt;/span&gt;&lt;strong&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;Sticky&lt;/span&gt;&lt;/strong&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;&amp;nbsp;setting to maintain this.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://iisadmins.blogspot.com/feeds/6836765960644604254/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://iisadmins.blogspot.com/2010/05/web-server-clustering.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8251212359688996660/posts/default/6836765960644604254'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8251212359688996660/posts/default/6836765960644604254'/><link rel='alternate' type='text/html' href='http://iisadmins.blogspot.com/2010/05/web-server-clustering.html' title='Web Server Clustering'/><author><name>Jawahar Adityan</name><uri>https://plus.google.com/111255894595346601465</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-2YAc3s1Mnh0/AAAAAAAAAAI/AAAAAAAAHW0/5JUOixENRos/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8251212359688996660.post-2592727077610051708</id><published>2010-05-14T13:06:00.005+05:30</published><updated>2010-05-14T13:08:37.325+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='2.0'/><category scheme='http://www.blogger.com/atom/ns#' term='asp.net'/><title type='text'>Take Your ASP.NET 2.0 App Offline</title><content type='html'>&lt;span class="Apple-style-span" style="font-family: Tahoma, Arial, Helvetica; font-size: 13px;"&gt;I just learned this a few minutes ago, but you can take an ASP.NET 2.0 application offline temporarily by uploading a file called App_Offline.htm.&amp;nbsp; It will spin down the appdomain and redirect all requests to that page. &amp;nbsp;Cool o !&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;Basically, if you place a file with this name in the root of a web application directory, ASP.NET 2.0 will shut-down the application, unload the application domain from the server, and stop processing any new incoming requests for that application.&amp;nbsp;&amp;nbsp;ASP.NET will also then respond to all requests for dynamic pages in the application by sending back the content of the app_offline.htm file (for example: you might want to have a “site under construction” or “down for maintenance” message)&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;This provides a convenient way to take down your application while you are making big changes or copying in lots of new page functionality (and you want to avoid the annoying problem of people hitting and activating your site in the middle of a content update).&amp;nbsp;&amp;nbsp;It can also be a useful way to immediately unlock and unload a SQL Express or Access database whose .mdf or .mdb data files are residing in the /app_data directory.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Once you remove the app_offline.htm file, the next request into the application will cause ASP.NET to load the application and app-domain again, and life will continue along as normal.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Hope this helps,&lt;/span&gt;&lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='http://iisadmins.blogspot.com/feeds/2592727077610051708/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://iisadmins.blogspot.com/2010/05/take-your-aspnet-20-app-offline.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8251212359688996660/posts/default/2592727077610051708'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8251212359688996660/posts/default/2592727077610051708'/><link rel='alternate' type='text/html' href='http://iisadmins.blogspot.com/2010/05/take-your-aspnet-20-app-offline.html' title='Take Your ASP.NET 2.0 App Offline'/><author><name>Jawahar Adityan</name><uri>https://plus.google.com/111255894595346601465</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-2YAc3s1Mnh0/AAAAAAAAAAI/AAAAAAAAHW0/5JUOixENRos/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8251212359688996660.post-697476770126500997</id><published>2010-05-14T12:57:00.000+05:30</published><updated>2010-05-14T12:57:00.257+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='application pool'/><category scheme='http://www.blogger.com/atom/ns#' term='web garden'/><category scheme='http://www.blogger.com/atom/ns#' term='asp.net'/><category scheme='http://www.blogger.com/atom/ns#' term='out proc'/><category scheme='http://www.blogger.com/atom/ns#' term='session state'/><category scheme='http://www.blogger.com/atom/ns#' term='inproc'/><title type='text'>On Web Gardens, ASP.NET, and IIS 6.0</title><content type='html'>&lt;span class="Apple-style-span" style="color: #444444; font-family: Arial, Helvetica, sans-serif; font-size: 13px; line-height: 22px;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="font-size: 1em; margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;So as I’ve been working with&amp;nbsp;&lt;a href="http://www.skiviez.com/" style="color: #4265a7; font-weight: bold; text-decoration: none;"&gt;a Web site deployed using Web gardens&lt;/a&gt;&amp;nbsp;over the past two years, I’ve learned some painful quirks that come along with them.&lt;/div&gt;&lt;h3 style="font-size: 1em; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 5px; padding-left: 0px; padding-right: 0px; padding-top: 10px;"&gt;What is a Web garden?&lt;/h3&gt;&lt;div style="font-size: 1em; margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;Think of a web garden as a web farm, but all in the context of a single machine. You have multiple worker processes running your application, preferably each running on a different core in your multicore computer.&lt;/div&gt;&lt;div class="wp-caption aligncenter" id="attachment_108" style="display: block; margin-left: auto; margin-right: auto; width: 310px;"&gt;&lt;img alt="Available right-clicking an application pool and choosing Properties in the IIS Management snap-in." class="size-medium wp-image-108" height="272" src="http://nicholas.piasecki.name/blog/wp-content/uploads/2009/02/workerprocesses-300x272.png" title="Worker Processes" width="300" /&gt;&lt;div class="wp-caption-text" style="font-size: 1em; margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;Available right-clicking an application pool and choosing Properties in the IIS Management snap-in.&lt;/div&gt;&lt;/div&gt;&lt;div style="font-size: 1em; margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;Why is this a good thing? Is it for performance? Well, not performance alone and not necessarily at all. Using a Web garden will only be good for performance if your application does some unusual blocking and locking while processing a request such that all the little threads within an individual worker process get tied up waiting for another thread to release the lock. We had this for a while because our Web framework had a nasty threading bug when rendering templates, and running in a Web garden helped because while separate threads within a single process could clobber one another, separate threads in separate processes obviously couldn’t.&lt;/div&gt;&lt;div style="font-size: 1em; margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;The bigger gain for Web gardens is not performance but robustness. If one of the worker processes hosting your application goes ape in that you get stuck in a loop and run at full tilt CPU until health monitoring kills you, then you’ve just stopped serving all requests from that process until it’s killed. If that’s the only process, then you’ve stopped serving requests for your Web site entirely. But if you have a Web garden with, say, 3 worker processes and one of them goes AWOL, then at least you’re serving requests from the remaining 2 until the bananas worker process is shut down and spun up again.&lt;/div&gt;&lt;h3 style="font-size: 1em; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 5px; padding-left: 0px; padding-right: 0px; padding-top: 10px;"&gt;What are the caveats?&lt;/h3&gt;&lt;div style="font-size: 1em; margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;There are several caveats to consider, but they’re all important from a scalability perspective. In fact, enabling Web gardening can be a good way to see if your application will be able to function in a Web farm scenario on multiple servers reasonably well. If you can deal with a Web garden now, you’ll have a far easier time scaling out to multiple servers in the future than if you’d stuck with an application that assumes everything lives within the same worker process.&lt;/div&gt;&lt;h4 style="font-size: 0.9em; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 5px; padding-left: 0px; padding-right: 0px; padding-top: 10px;"&gt;No&amp;nbsp;&lt;code style="color: black; font-family: Consolas, 'Courier New', monospaced !important; font-size: 1em;"&gt;InProc&lt;/code&gt;&amp;nbsp;session storage&lt;/h4&gt;&lt;div style="font-size: 1em; margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;One of the caveats about using a Web garden is that if you’re using session state in your application, then you need to use an out-of-process session state, such as the ASP.NET State Service or sessions stored in SQL Server.&amp;nbsp;&lt;code style="color: black; font-family: Consolas, 'Courier New', monospaced !important; font-size: 1em;"&gt;InProc&lt;/code&gt;&amp;nbsp;session management won’t work because each worker process will be maintaining its own session state. So if a customer is browsing your Web site and you have 3 worker processors, then your customer has a 1 in 3 chance of losing his session state as IIS round-robins his subsequent requests among the 3 available worker processes. If you use an out-of-process session state, then you can be sure that all 3 worker processes are consulting the same single resource as the place to store and retrieve session data.&lt;/div&gt;&lt;div class="wp-caption aligncenter" id="attachment_112" style="display: block; margin-left: auto; margin-right: auto; width: 356px;"&gt;&lt;img alt="With InProc storage and Web gardens, Bob the Blue Dot only has a 1 in 3 chance of finding his original session on any given request." class="size-full wp-image-112" height="379" src="http://nicholas.piasecki.name/blog/wp-content/uploads/2009/02/roundrobin.png" title="Round Robining" width="346" /&gt;&lt;div class="wp-caption-text" style="font-size: 1em; margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;With InProc storage and Web gardens, Bob the Blue Dot only has a 1 in 3 chance of finding his original session on any given request.&lt;/div&gt;&lt;/div&gt;&lt;h4 style="font-size: 0.9em; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 5px; padding-left: 0px; padding-right: 0px; padding-top: 10px;"&gt;No built-in caching mechanism&lt;/h4&gt;&lt;div style="font-size: 1em; margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;Similarly, if you’re using&amp;nbsp;&lt;code style="color: black; font-family: Consolas, 'Courier New', monospaced !important; font-size: 1em;"&gt;System.Web.Caching&lt;/code&gt;, you need to remember that each individual worker process is going to maintain its own cache. So if you cache a big list of products on your catalog listing page and you have three worker processes, then the database is going to get hit at least three times and that page is going to get cached in three separate places in RAM–one place for each process. This can make an operation such as clearing the cache difficult.&lt;/div&gt;&lt;div style="font-size: 1em; margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;Suppose you have a protected HTTP handler, say,&amp;nbsp;&lt;code style="color: black; font-family: Consolas, 'Courier New', monospaced !important; font-size: 1em;"&gt;ClearCaches.axd&lt;/code&gt;, which if pinged by some administrative IP address tells the&amp;nbsp;&lt;code style="color: black; font-family: Consolas, 'Courier New', monospaced !important; font-size: 1em;"&gt;System.Web.Caching&lt;/code&gt;&amp;nbsp;cache to clear itself. You’ll only have cleared out the cache for the worker process that happened to serve that particular request. To clear them all, you’d have to recycle all of the worker processes through the IIS Management snap-in or just keep pinging your&lt;code style="color: black; font-family: Consolas, 'Courier New', monospaced !important; font-size: 1em;"&gt;ClearCaches.axd&lt;/code&gt;&amp;nbsp;until you were confident that IIS had round-robined you across to all of the worker processes. Neither is really ideal.&lt;/div&gt;&lt;div style="font-size: 1em; margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;A better solution would be to move to an out-of-process cache like&amp;nbsp;&lt;code style="color: black; font-family: Consolas, 'Courier New', monospaced !important; font-size: 1em;"&gt;memcached&lt;/code&gt;. Then you only have one service that you need to clear the cache for, and that cache clearing action will be observed by all three worker processes.&lt;/div&gt;&lt;div style="font-size: 1em; margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;These are the two things that you’d naturally expect to have to deal with when running Web gardens. Now let’s talk about two that you normally wouldn’t expect. (That’s a nice way of saying that I learned them the hard way.)&lt;/div&gt;&lt;h3 style="font-size: 1em; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 5px; padding-left: 0px; padding-right: 0px; padding-top: 10px;"&gt;Poor&amp;nbsp;&lt;code style="color: black; font-family: Consolas, 'Courier New', monospaced !important; font-size: 1em;"&gt;App_Offline.htm&lt;/code&gt;&amp;nbsp;integration&lt;/h3&gt;&lt;div style="font-size: 1em; margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;So ASP.NET 2.0 has this little nifty feature that revolves around a file called&lt;code style="color: black; font-family: Consolas, 'Courier New', monospaced !important; font-size: 1em;"&gt;App_Offline.htm&lt;/code&gt;. You dump a file named like this in the root of your ASP.NET Web application. Upon the next request to any page on the site served through the ASP.NET ISAPI handler, the worker process will spin down, and the contents of the&lt;code style="color: black; font-family: Consolas, 'Courier New', monospaced !important; font-size: 1em;"&gt;App_Offline.htm&lt;/code&gt;&amp;nbsp;file will be served instead. (Stupidly, ASP.NET will send a 404 header for this, which is plain wrong, but this is hard-coded.) This unlocks the DLLs in your site’s bin directory. So if you filled that file with a message like “We’re down for maintenance; check back soon,” you’d be able to xcopy over the new binaries to the bin directory, delete the&amp;nbsp;&lt;code style="color: black; font-family: Consolas, 'Courier New', monospaced !important; font-size: 1em;"&gt;App_Offline.htm&lt;/code&gt;&amp;nbsp;file when you’re done, and you’d have provided a simple and graceful site maintenance message to your users in the process.&lt;/div&gt;&lt;div style="font-size: 1em; margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;But this doesn’t work well for Web gardens. The problem is that the worker process spins down and releases its lock on your application binaries only after the next request&amp;nbsp;&lt;em&gt;to that individual process&lt;/em&gt;&amp;nbsp;after you created the&amp;nbsp;&lt;code style="color: black; font-family: Consolas, 'Courier New', monospaced !important; font-size: 1em;"&gt;App_Offline.htm&lt;/code&gt;&amp;nbsp;file. So if I have a Web garden with 3 worker processes A, B, and C, and I plunk my&lt;code style="color: black; font-family: Consolas, 'Courier New', monospaced !important; font-size: 1em;"&gt;App_Offline.htm&lt;/code&gt;&amp;nbsp;file down, and I visit the home page of my site, then something like this might happen: Worker process B decides to process my request, notes that the&lt;code style="color: black; font-family: Consolas, 'Courier New', monospaced !important; font-size: 1em;"&gt;App_Offline.htm&lt;/code&gt;&amp;nbsp;file exists, serves me the contents of the file, and then spins down and releases its lock on the application binaries. But processes A and C are still churning along and locking those files. I’d either have to refresh the homepage a whole bunch of times to be sure I had round-robined across all of the binaries to get them to all spin down (less than ideal), or I’d have to kill all the worker processes by stopping the application pool in the IIS Management snap-in. In the end, though, it’s easiest to just pretend this feature doesn’t exist for you and find some alternative update mechanism, such as deactivating your main site and activating a completely separate Web site in IIS that simply displays the site maintenance message.&lt;/div&gt;&lt;h3 style="font-size: 1em; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 5px; padding-left: 0px; padding-right: 0px; padding-top: 10px;"&gt;Bug in .NET Framework installer can cause a strange scenario&lt;/h3&gt;&lt;div style="font-size: 1em; margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;I lost some hair over this one because it’s unexpected and only appears under a very specific scenario. Here we go:&lt;/div&gt;&lt;div style="font-size: 1em; margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;Take a server running .NET 3.0 and an ASP.NET Web site running in an application pool that has Web gardens enabled (number of processes: 3). The web.config configuration is something like the following:&lt;/div&gt;&lt;div class="wp_syntax" style="background-color: #f9f9f9; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; color: #110000; margin-bottom: 1.5em; margin-left: 0px; margin-right: 0px; margin-top: 0px; overflow-x: auto; overflow-y: hidden; width: 497px;"&gt;&lt;div class="code" style="padding-bottom: 2px; padding-left: 4px; padding-right: 4px; padding-top: 2px; vertical-align: top;"&gt;&lt;pre class="xml" style="clear: none; color: black; float: none; font-family: monospace; font-size: 12px; line-height: 1.333; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; overflow-x: visible; overflow-y: visible; padding-bottom: 1em; padding-left: 10px; padding-right: 10px; padding-top: 1em; white-space: pre; width: auto;"&gt;&lt;span style="color: #009900;"&gt;&lt;span style="color: black; font-weight: bold;"&gt;&lt;sessionstate&gt;&lt;/sessionstate&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #009900;"&gt;      &lt;span style="color: #000066;"&gt;cookieless&lt;/span&gt;=&lt;span style="color: red;"&gt;"UseCookies"&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #009900;"&gt;      &lt;span style="color: #000066;"&gt;cookieName&lt;/span&gt;=&lt;span style="color: red;"&gt;".authz"&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #009900;"&gt;      &lt;span style="color: #000066;"&gt;mode&lt;/span&gt;=&lt;span style="color: red;"&gt;"StateServer"&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #009900;"&gt;      &lt;span style="color: #000066;"&gt;regenerateExpiredSessionId&lt;/span&gt;=&lt;span style="color: red;"&gt;"true"&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #009900;"&gt;      &lt;span style="color: #000066;"&gt;stateConnectionString&lt;/span&gt;=&lt;span style="color: red;"&gt;"tcpip=127.0.0.1:42424"&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #009900;"&gt;      &lt;span style="color: #000066;"&gt;timeout&lt;/span&gt;=&lt;span style="color: red;"&gt;"60"&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #009900;"&gt;      &lt;span style="color: #000066;"&gt;useHostingIdentity&lt;/span&gt;=&lt;span style="color: red;"&gt;"true"&lt;/span&gt; &lt;span style="color: black; font-weight: bold;"&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="font-size: 1em; margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;Now upgrade the machine to .NET 3.5 SP1. Reboot the server. Stand back in shock and horror to find that sessions are no longer maintained across the worker processes, as if all of them have reverted to&amp;nbsp;&lt;code style="color: black; font-family: Consolas, 'Courier New', monospaced !important; font-size: 1em;"&gt;InProc&lt;/code&gt;&amp;nbsp;session storage. You see that the configuration obviously still says&amp;nbsp;&lt;code style="color: black; font-family: Consolas, 'Courier New', monospaced !important; font-size: 1em;"&gt;StateServer&lt;/code&gt;, but it Simply Does Not Work. You quickly reduce to 1 worker process as the current workaround.&lt;/div&gt;&lt;div style="font-size: 1em; margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;The problem appears to occur when all of the following conditions are true:&lt;/div&gt;&lt;ul style="list-style-image: initial; list-style-position: initial; list-style-type: none; margin-bottom: 10px; margin-left: 10px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;li style="background-attachment: initial; background-clip: initial; background-color: initial; background-image: url(http://nicholas.piasecki.name/blog/wp-content/themes/titan/images/list-item.gif); background-origin: initial; background-position: 0px 0.3em; background-repeat: no-repeat no-repeat; display: block; margin-bottom: 5px; margin-left: 0px; margin-right: 0px; margin-top: 5px; padding-bottom: 0px; padding-left: 17px; padding-right: 0px; padding-top: 0px;"&gt;You are running Windows Server 2003 (IIS 6.0) and an ASP.NET 2.0 web site.&lt;/li&gt;&lt;li style="background-attachment: initial; background-clip: initial; background-color: initial; background-image: url(http://nicholas.piasecki.name/blog/wp-content/themes/titan/images/list-item.gif); background-origin: initial; background-position: 0px 0.3em; background-repeat: no-repeat no-repeat; display: block; margin-bottom: 5px; margin-left: 0px; margin-right: 0px; margin-top: 5px; padding-bottom: 0px; padding-left: 17px; padding-right: 0px; padding-top: 0px;"&gt;The Web site is configured to use Web Gardens, where the maximum number of worker processes is greater than 1. Because of this, you have configured your application to use an out-of-process session storage; in this scenario, the ASP.NET State Service running on the local machine.&lt;/li&gt;&lt;li style="background-attachment: initial; background-clip: initial; background-color: initial; background-image: url(http://nicholas.piasecki.name/blog/wp-content/themes/titan/images/list-item.gif); background-origin: initial; background-position: 0px 0.3em; background-repeat: no-repeat no-repeat; display: block; margin-bottom: 5px; margin-left: 0px; margin-right: 0px; margin-top: 5px; padding-bottom: 0px; padding-left: 17px; padding-right: 0px; padding-top: 0px;"&gt;The application pool identity is set not to NETWORK SERVICE but to a custom, low-privileged user account that you created per a&amp;nbsp;&lt;a href="http://msdn.microsoft.com/en-us/library/ms998297.aspx" style="color: #4265a7; font-weight: bold; text-decoration: none;"&gt;deployment best practice&lt;/a&gt;.&lt;/li&gt;&lt;li style="background-attachment: initial; background-clip: initial; background-color: initial; background-image: url(http://nicholas.piasecki.name/blog/wp-content/themes/titan/images/list-item.gif); background-origin: initial; background-position: 0px 0.3em; background-repeat: no-repeat no-repeat; display: block; margin-bottom: 5px; margin-left: 0px; margin-right: 0px; margin-top: 5px; padding-bottom: 0px; padding-left: 17px; padding-right: 0px; padding-top: 0px;"&gt;You run an installer that updates the .NET framework; in my case, this was an update from .NET 3.0 to .NET 3.5 SP1.&lt;/li&gt;&lt;li style="background-attachment: initial; background-clip: initial; background-color: initial; background-image: url(http://nicholas.piasecki.name/blog/wp-content/themes/titan/images/list-item.gif); background-origin: initial; background-position: 0px 0.3em; background-repeat: no-repeat no-repeat; display: block; margin-bottom: 5px; margin-left: 0px; margin-right: 0px; margin-top: 5px; padding-bottom: 0px; padding-left: 17px; padding-right: 0px; padding-top: 0px;"&gt;When the upgrade finishes and you reboot the server, you find that your session variables are frequently lost upon refreshing a page, since there is only a 1 in 3 chance of you getting the original worker process that served your original request. But this shouldn’t matter, since you’re using the ASP.NET state service. What broke?&lt;/li&gt;&lt;/ul&gt;&lt;div style="font-size: 1em; margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;When using the ASP.NET state service, ASP.NET uses a value called the&lt;code style="color: black; font-family: Consolas, 'Courier New', monospaced !important; font-size: 1em;"&gt;machineKey&lt;/code&gt;&amp;nbsp;to encrypt and/or hash all session data to be stored (I don’t know if it’s encrypting or hashing or both, but it’s not an important distinction for this discussion). This is so that when any worker process asks for data from the service using a session identifier, it can be sure that the data was not tampered with while it was being stored in the external data source.&lt;/div&gt;&lt;div style="font-size: 1em; margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;If you are on a web farm, then you probably have a static&amp;nbsp;&lt;code style="color: black; font-family: Consolas, 'Courier New', monospaced !important; font-size: 1em;"&gt;machineKey&lt;/code&gt;&amp;nbsp;defined in your&lt;code style="color: black; font-family: Consolas, 'Courier New', monospaced !important; font-size: 1em;"&gt;web.config file&lt;/code&gt;, and this issue does not occur. But for a single-server web garden scenario, you probably rely on the default&amp;nbsp;&lt;code style="color: black; font-family: Consolas, 'Courier New', monospaced !important; font-size: 1em;"&gt;machineKey&lt;/code&gt;&amp;nbsp;setting, which is set to&lt;code style="color: black; font-family: Consolas, 'Courier New', monospaced !important; font-size: 1em;"&gt;AutoGenerate,IsolateApps&lt;/code&gt;&amp;nbsp;for ASP.NET 2.0 applications. This means that ASP.NET automatically generates a machine key that is unique to your application pool. It regenerates this key according to some algorithm, but that is not important for this discussion.&lt;/div&gt;&lt;div style="font-size: 1em; margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;The generated value is normally stored in the registry under&lt;code style="color: black; font-family: Consolas, 'Courier New', monospaced !important; font-size: 1em;"&gt;HKLMSOFTWAREMicrosoftASP.NET2.0.50727.0AutoGenKeys{SID of the Application Pool Identity}&lt;/code&gt;. But the .NET Framework installer incorrectly (I do believe this is a bug) destroys this registry key and, to add insult to injury, resets the permissions on this key such that your custom application pool identity cannot write to the registry entry when it goes to create its new machine key.&lt;/div&gt;&lt;div class="wp-caption aligncenter" id="attachment_114" style="display: block; margin-left: auto; margin-right: auto; width: 584px;"&gt;&lt;img alt="Without being able to store this key, each process will think session data inserted by other processes has been tampered with or is otherwise invalid. Yikes!" class="size-full wp-image-114" height="269" src="http://nicholas.piasecki.name/blog/wp-content/uploads/2009/02/autogenkey.png" title="autogenkey" width="574" /&gt;&lt;div class="wp-caption-text" style="font-size: 1em; margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;Without being able to store this key, each process will think session data inserted by other processes has been tampered with or is otherwise invalid. Yikes!&lt;/div&gt;&lt;/div&gt;&lt;div style="font-size: 1em; margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;The result is that each worker process that spins up in the web garden is using its own in-memory copy of a machine key that it generated just in time, effectively creating a web farm scenario by accident. For example, worker process A spins up, sees that no&amp;nbsp;&lt;code style="color: black; font-family: Consolas, 'Courier New', monospaced !important; font-size: 1em;"&gt;AutoGenKey&lt;/code&gt;&amp;nbsp;entry exists (indeed, it cannot even read it), generates its own and begins using that to hash data sent to the ASP.NET State Service. It tries to save this new machine key to the registry entry, but fails silently. Worker process B spins up, sees that no&amp;nbsp;&lt;code style="color: black; font-family: Consolas, 'Courier New', monospaced !important; font-size: 1em;"&gt;AutoGenKey&lt;/code&gt;&amp;nbsp;entry exists, generates its own and begins using that to hash data…you see where this is going.&lt;/div&gt;&lt;div class="wp-caption aligncenter" id="attachment_115" style="display: block; margin-left: auto; margin-right: auto; width: 415px;"&gt;&lt;img alt="Bad permissions on this one registry key can cause some real headache-inducing behavior as everything seems to behave as if it were InProc." class="size-full wp-image-115" height="353" src="http://nicholas.piasecki.name/blog/wp-content/uploads/2009/02/web.png" title="web" width="405" /&gt;&lt;div class="wp-caption-text" style="font-size: 1em; margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;Bad permissions on this one registry key can cause some real headache-inducing behavior as everything seems to behave as if it were InProc.&lt;/div&gt;&lt;/div&gt;&lt;div style="font-size: 1em; margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;The result is now you have session data hashed with three different machine keys. Though the data for the session identifier exists, two out of three of the worker processes will reject it as invalid/tampered because it is using its own key.&lt;/div&gt;&lt;div style="font-size: 1em; margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;You could get around this by explicitly setting a custom&amp;nbsp;&lt;code style="color: black; font-family: Consolas, 'Courier New', monospaced !important; font-size: 1em;"&gt;machineKey&lt;/code&gt;&amp;nbsp;in your web.config file.&lt;/div&gt;&lt;div style="font-size: 1em; margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;Or you could re-run&amp;nbsp;&lt;code style="color: black; font-family: Consolas, 'Courier New', monospaced !important; font-size: 1em;"&gt;aspnet_regiis.exe -ga MachineNameApplicationPoolUserName&lt;/code&gt;&amp;nbsp;at a Command Prompt to fix up the broken permissions.&lt;/div&gt;&lt;h3 style="font-size: 1em; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 5px; padding-left: 0px; padding-right: 0px; padding-top: 10px;"&gt;Conclusions and Delusions&lt;/h3&gt;&lt;div style="font-size: 1em; margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;There you have it! Web gardens are a really neat feature for increasing the robustness of your application as well as testing the general suitability of your application for migration to a Web farm scenario. But documentation out there is pretty scarce, and I get the feeling that people don’t use Web gardens all that often. Hopefully, these little issues that I’ve run across will save somebody some heartache in the future. Good luck!&lt;/div&gt;&lt;div style="font-size: 1em; margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-size: 1em; margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;Thanks to :&amp;nbsp;&lt;a href="http://nicholas.piasecki.name/blog/2009/02/on-web-gardens-aspnet-and-iis-60/"&gt;http://nicholas.piasecki.name/blog/2009/02/on-web-gardens-aspnet-and-iis-60/&lt;/a&gt;&lt;/div&gt;&lt;div style="font-size: 1em; margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://iisadmins.blogspot.com/feeds/697476770126500997/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://iisadmins.blogspot.com/2010/05/on-web-gardens-aspnet-and-iis-60.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8251212359688996660/posts/default/697476770126500997'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8251212359688996660/posts/default/697476770126500997'/><link rel='alternate' type='text/html' href='http://iisadmins.blogspot.com/2010/05/on-web-gardens-aspnet-and-iis-60.html' title='On Web Gardens, ASP.NET, and IIS 6.0'/><author><name>Jawahar Adityan</name><uri>https://plus.google.com/111255894595346601465</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-2YAc3s1Mnh0/AAAAAAAAAAI/AAAAAAAAHW0/5JUOixENRos/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8251212359688996660.post-2375771667570321007</id><published>2010-04-30T00:28:00.002+05:30</published><updated>2010-04-30T00:28:57.066+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Exit USA'/><title type='text'>Exit USA - Travel Back to home country</title><content type='html'>&lt;table cellpadding="0" cellspacing="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width="10"&gt;&lt;br /&gt;&lt;/td&gt;&lt;!-- Space between Left Nav and Content Area --&gt;      &lt;td valign="top" width="476"&gt;&lt;!-- Start Content Area --&gt;       &lt;table border="0" cellpadding="0" cellspacing="0"&gt;&lt;tbody&gt;&lt;tr class="BCrumb"&gt;                  &lt;td class="Imm_BCrumb"&gt;&lt;a href="http://www.path2usa.com/"&gt;Home&lt;/a&gt; &amp;gt; &lt;a href="http://www.path2usa.com/immigration/"&gt;Immigration&lt;/a&gt;                    &amp;gt; &lt;a href="http://www.path2usa.com/immigration/visitorvisa/visitor_visa.htm"&gt;Visitor  visa&lt;/a&gt;&amp;gt; US-Visit Exit &lt;/td&gt;        &lt;/tr&gt;&lt;tr&gt;          &lt;td class="SpaceBreadTitle"&gt;&lt;br /&gt;&lt;/td&gt;        &lt;/tr&gt;&lt;tr&gt;          &lt;td&gt;           &lt;!-- web2printer:start --&gt;          &lt;table border="0" cellpadding="0" cellspacing="0" class="Root"&gt;&lt;tbody&gt;&lt;tr&gt;             &lt;td class="Title"&gt;&lt;!-- #BeginLibraryItem "/Library/Top_Page_Options.lbi" --&gt;  &lt;span class="PageOptionsBox"&gt;  &lt;table cellpadding="1" cellspacing="1" class="PageOptions"&gt;&lt;tbody&gt;&lt;tr&gt;    &lt;td align="center" valign="middle" width="30"&gt;&lt;a href="javascript:void(PopWin('mail'));"&gt;&lt;img alt="E-mail this page" border="0" src="http://www.path2usa.com/images/iconssmall/Email_Page.gif" /&gt;&lt;/a&gt;&lt;/td&gt;    &lt;td align="center" valign="middle" width="30"&gt;&lt;a href="javascript:void(PopWin('print'));"&gt;&lt;img alt="Print this page" border="0" src="http://www.path2usa.com/images/iconssmall/Print_Page.gif" /&gt;&lt;/a&gt;&lt;/td&gt;    &lt;td align="center" valign="middle" width="30"&gt;&lt;a href="javascript:void(PopWin('comment'));"&gt;&lt;img alt="Comment this page" border="0" src="http://www.path2usa.com/images/iconssmall/Comments.gif" /&gt;&lt;/a&gt;&lt;/td&gt;   &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/span&gt;&lt;!-- #EndLibraryItem --&gt;Exit USA - Travel Back to home country &lt;/td&gt;           &lt;/tr&gt;&lt;tr&gt;             &lt;td class="SpaceAuthorContent"&gt;&lt;br /&gt;&lt;/td&gt;           &lt;/tr&gt;&lt;tr&gt;                       &lt;td&gt;Once your legal stay is over you should leave  USA. Leaving usa in timely and allowed manner is legally required and  also helpful in all your future entries into USA.                         Do some preparation before getting ready to  leave the US.&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Make a couple of photocopies of your I-94  and passport/visa and keep them safely. Keeping a copy in your hand  baggage is always useful. These duplicate documents are useful in case  you lose your passport etc. If you are a visiting parent/relative it's a  good idea to give a copy to your son/daughter. These documents may also  be useful for your future visits to the US.&lt;/li&gt;&lt;li&gt;Check with the airlines for luggage weight  limits and prepare your luggage accordingly. It is always better to be  informed and save yourself time and frustration, since the airlines do  not allow  excess weight and you may have to pay  extra dollars for  exceeding the limit..&lt;/li&gt;&lt;li&gt;If you are carrying any gifts, make sure  you are aware of the custom rules of your country, so that you don't  have to face any issues at customs in your country. &lt;a href="http://www.path2usa.com/immigration/relatedinfo/custom_questions.htm"&gt;Below   is some information about customs regulations in India.&lt;/a&gt;&lt;/li&gt;&lt;li&gt;At the day of departure, reach the airport  at least 2hrs before departure time, since you need some time for  checking etc.&lt;/li&gt;&lt;/ul&gt;&lt;strong&gt;Once you reach  the airport&lt;/strong&gt; :&lt;br /&gt;Look for  your airline checking counter. &lt;br /&gt;Following are few  important things you must do and are required by the US immigration law.&lt;br /&gt;&lt;ol&gt;&lt;li&gt; Handover your I-94 to the airline staff  at the airline checking counter. When you do so, make sure that the  airline person has taken out the I-94 stub. If they have not taken it  out, ask them to do so.&lt;br /&gt;&lt;br /&gt;Note : Effective May 6, 2007, international  visitors will no longer be  required to use the US-VISIT exit  when they  leave the United  States. International visitors who received a U.S.  Customs and Border  Protection (CBP) Form I-94, Arrival-Departure  Record, upon arrival must  still return the form to an airline or ship  representative when  departing the United States.&lt;/li&gt;&lt;/ol&gt;&lt;strong&gt;Once you reach your destination/home  country.&lt;/strong&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;You may have to go through the immigration  check counter.&lt;/li&gt;&lt;li&gt;You may be required to fill some customs  and immigration clearance forms for your country. &lt;/li&gt;&lt;/ul&gt;For Indian citizens, on going back to India,  you will have to fill a &lt;a href="http://www.path2usa.com/immigration/resources/sample/india_arv_form.pdf"&gt;forms  called Arrival or Disembarkation form. &lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="BlackHighlight"&gt;Related Topics :&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.path2usa.com/immigration/visitorvisa/us_visit_process.htm"&gt;US  visit entry process.&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.path2usa.com/immigration/visitorvisa/visitor_visa.htm"&gt;US  visitor Visa process. &lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;</content><link rel='replies' type='application/atom+xml' href='http://iisadmins.blogspot.com/feeds/2375771667570321007/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://iisadmins.blogspot.com/2010/04/exit-usa-travel-back-to-home-country.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8251212359688996660/posts/default/2375771667570321007'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8251212359688996660/posts/default/2375771667570321007'/><link rel='alternate' type='text/html' href='http://iisadmins.blogspot.com/2010/04/exit-usa-travel-back-to-home-country.html' title='Exit USA - Travel Back to home country'/><author><name>Jawahar Adityan</name><uri>https://plus.google.com/111255894595346601465</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-2YAc3s1Mnh0/AAAAAAAAAAI/AAAAAAAAHW0/5JUOixENRos/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8251212359688996660.post-1570455834964823786</id><published>2010-04-30T00:26:00.002+05:30</published><updated>2010-04-30T00:26:38.781+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Tips'/><category scheme='http://www.blogger.com/atom/ns#' term='USA travel Tips'/><title type='text'>First Air Travel To USA- Plan a hassle free trip</title><content type='html'>&lt;table border="0" cellpadding="0" cellspacing="0" class="Root"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td class="Title"&gt;First Air Travel - Plan a hassle free trip&lt;/td&gt;           &lt;/tr&gt;&lt;tr&gt;            &lt;td class="SpaceAuthorContent"&gt;&lt;br /&gt;&lt;/td&gt;           &lt;/tr&gt;&lt;tr&gt;            &lt;td&gt; Travelling can be exiting or exhausting depending on the amount of  homework you do before you actually board the plane. Here are some  useful travel trips.                            &lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.path2usa.com/travel/airlines/first_air_travel.htm#1"&gt;Tips  Prior traveling&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.path2usa.com/travel/airlines/first_air_travel.htm#2"&gt;Manage  your luggage&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.path2usa.com/travel/airlines/first_air_travel.htm#3"&gt;While  at departure Airport&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.path2usa.com/travel/airlines/first_air_travel.htm#4"&gt;At  the Intermediate/Transit Airport&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.path2usa.com/travel/airlines/first_air_travel.htm#5"&gt;At  Destination Airport&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.path2usa.com/travel/airlines/first_air_travel.htm#6"&gt;Making  a Telephone Call from Airport&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.path2usa.com/travel/airlines/first_air_travel.htm#7"&gt;FAQ&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.path2usa.com/travel/airlines/first_air_travel.htm#8"&gt;Useful  tips&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.path2usa.com/travel/airlines/first_air_travel.htm#8"&gt;Do  you Need Travel Companion?&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Useful tips : &lt;a href="http://www.path2usa.com/immigration/visitorvisa/exitusa.htm"&gt;When  you Travel Back to home country&lt;/a&gt; - a must read. &lt;/li&gt;&lt;/ul&gt;&lt;hr noshade="noshade" size="0" /&gt;                                                 &lt;a href="" name="1"&gt;&lt;/a&gt;                         &lt;span class="SubTitle"&gt;Tips prior traveling:&lt;/span&gt;                                                  &lt;br /&gt;&lt;div class="GrayBorder"&gt;&lt;span class="HighlightTitle"&gt;&lt;img src="http://www.path2usa.com/images/iconssmall/Tips.gif" style="clear: both; float: left;" /&gt;                            What to Do?&lt;/span&gt;&lt;/div&gt;&lt;div class="DosDontsBodyPadding"&gt;   &lt;ul&gt;&lt;li&gt; Choose the flight best suited to you. &lt;/li&gt;&lt;li&gt;Try to get the best deal on your tickets. Find out the rates  offered by other airlines.&lt;/li&gt;&lt;li&gt;Booking tickets through a travel agent is always better. Agents  may give you some discount.&lt;/li&gt;&lt;li&gt;When you book your ticket, mention your food preference whether  you want Vegetarian or Non vegetarian food.&lt;/li&gt;&lt;li&gt;Make sure the date and time of travel on your ticket is correct.  Call up the local airlines office to confirm. Flight timings may confuse  you (e.g. Boarding on 5/1/2000 at 00:45 means 4th night 12:45 PM and  not 5th night, as many airlines start with 00:00 after midnight.) &lt;/li&gt;&lt;li&gt;You should also confirm about the luggage limit that you can  carry (the weight and number of bags for both cabin and check in  luggage). &lt;/li&gt;&lt;li&gt;Make sure that you have reached to the right terminal, for your  airlines departure. &lt;/li&gt;&lt;li&gt;Try to reach the airport at least 3 hours before departure. This  way you can get your seat preferences. Different airlines have different  seating arrangements e.g.3-3-3, 3-4-3, 2-2-2 etc. &lt;/li&gt;&lt;li&gt;Each of your luggages should have your name and address tag. Your  luggage has to be identified at the destination airport. Naming is also  helpful in case you lose your luggage. &lt;/li&gt;&lt;li&gt;Get currency of the destination country. You can exchange  currency from the authorized banks e.g. State Bank Of India, etc. or  from organizations like Thomas cook etc. Normally they have counters at  the airport too. They also make an entry on your passport. &lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;hr noshade="noshade" size="0" /&gt;                                                 &lt;a href="" name="2"&gt;&lt;/a&gt;                         &lt;span class="SubTitle"&gt;How to manage your luggage?&lt;/span&gt;                                                 &lt;br /&gt;&lt;div class="FirstPara"&gt;&lt;strong&gt;1. Hand or  cabin luggage:&lt;/strong&gt; This is what you can carry with you in the  plane. Keep it small and handy, so that you can keep it in the overhead  luggage space in the cabin. Trolley bags are always advisable. Many  airlines allow one cabin bag, but ladies can carry their purse or  handbag along with their cabin bag. Total linear dimensions  (length+height+width) of each cabin baggage must not exceed 112cms (45  inches), and weight must not exceed 14 to 20kgs (30-40 pounds).&lt;/div&gt;&lt;strong&gt;2. Check in luggage:&lt;/strong&gt; These are  the big luggage items that you will have to hand over at the airlines  check in counter. Most of the airlines allow 2 big baggages as the check  in luggage. Total linear dimensions (length+height+width) of each  checked in baggage must not exceed 158 cm (62 inches), and weight of  each bag must not exceed 32-35 kgs (70-77 pounds).&lt;br /&gt;&lt;span style="color: red;"&gt;**&lt;/span&gt; 1 check in bag of total linear  dimensions (45 inches) and weight 14 to 20kgs (30-40 pounds) is allowed  for children not entitled for a separate seat. Plus you can carry a pram  (stroller) or carrying basket.&lt;br /&gt;&lt;span style="color: red;"&gt;**&lt;/span&gt; This is only generalized information, it may  differ from airline to airline, confirm it beforehand. Due to rough  handling some luggage may be damaged. If your luggage is not very strong  tie it properly with a rope.&lt;br /&gt;&lt;span class="SubTitle"&gt;What should be carried in the hand baggage?&lt;/span&gt;                         &lt;div class="FirstPara"&gt;You should keep all your  important documents, medicines and two pairs of clothes. If your  destination is a cold place, then include sufficient woollens, that is,  sweater, jacket, gloves, socks, cap etc.&lt;/div&gt;&lt;hr noshade="noshade" size="0" /&gt;                                                  &lt;a href="" name="3"&gt;&lt;/a&gt;                           &lt;span class="SubTitle"&gt;While you are at the departure Airport&lt;/span&gt;                         &lt;br /&gt;&lt;div class="FirstPara"&gt;You have to go through  few formalities before boarding the  plane.&lt;/div&gt;&lt;table cellpadding="0" cellspacing="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td bgcolor="#797979"&gt;                               &lt;table cellpadding="5" cellspacing="1" class="Root"&gt;&lt;tbody&gt;&lt;tr width="100%"&gt;                                    &lt;td bgcolor="#ffffff" valign="top" width="12%"&gt;&lt;b&gt;Step                                      1:&lt;/b&gt;&lt;/td&gt;                                   &lt;td bgcolor="#ffffff" width="88%"&gt;You  need to                                        scan your luggage in the X-ray  machine close                                        to your airlines check in counter.  Here the                                        person in charge will put a  safety-checked                                        sticker on the luggage. (No need  to X-ray                                      the hand luggage here.)&lt;/td&gt;                                 &lt;/tr&gt;&lt;tr width="100%"&gt;                                    &lt;td bgcolor="#ffffff" valign="top" width="12%"&gt;&lt;b&gt;Step                                      2:&lt;/b&gt;&lt;/td&gt;                                   &lt;td bgcolor="#ffffff" width="88%"&gt;Keep  your                                      passport, ticket and a pen handy.&lt;/td&gt;                                 &lt;/tr&gt;&lt;tr width="100%"&gt;                                    &lt;td bgcolor="#ffffff" valign="top" width="12%"&gt;&lt;b&gt;Step                                      3:&lt;/b&gt;&lt;/td&gt;                                   &lt;td bgcolor="#ffffff" width="88%"&gt;At  the check                                        in counter, hand over your luggage  for check                                        in. Take the boarding pass, ask  for your seat                                        preference, ask for transit  details (if you                                        have any flight change in  between), and take                                        a receipt of your checked-in  luggage.                                      &lt;div class="FirstPara"&gt;(**Make sure  that destination                                          stamped on it is correct,  otherwise you                                          will lose it). You will get a &lt;a href="http://www.path2usa.com/immigration/resources/sample/indi_dep_form_p2.pdf"&gt;Embarkation                                           form&lt;/a&gt; here, fill it carefully  in all capital                                          letters clearly. If you have any  confusion,                                        ask the airline staff.&lt;/div&gt;&lt;div class="FirstPara"&gt;Now, you may  proceed                                        to the immigration counter.&lt;/div&gt;&lt;/td&gt;                                 &lt;/tr&gt;&lt;tr width="100%"&gt;                                    &lt;td bgcolor="#ffffff" valign="top" width="12%"&gt;&lt;b&gt;Step                                      4:&lt;/b&gt;&lt;/td&gt;                                   &lt;td bgcolor="#ffffff" width="88%"&gt;Immigration                                         check. Here the immigration  officer will ask                                        for your passport, ticket,  boarding pass and                                        the Embarkation form. He might ask  few questions                                        about your journey, visa, purpose  of travel                                        etc. Answer clearly. He will take  the Embarkation                                        form, and will return every thing  else after                                        stamping your passport. Now  proceed to the                                      custom counter.&lt;/td&gt;                                 &lt;/tr&gt;&lt;tr width="100%"&gt;                                    &lt;td bgcolor="#ffffff" valign="top" width="12%"&gt;&lt;b&gt;Step                                      5:&lt;/b&gt;&lt;/td&gt;                                   &lt;td bgcolor="#ffffff" width="88%"&gt;If  you have                                        lots of jewellery or any other  expensive items                                        with you, you can declare it at  the customs                                        counter, and get it endorsed on  your passport.                                        So when you come back, you will  not have to                                        face customs hassles. Here the  custom officer                                        will stamp your boarding pass.                                      &lt;div class="FirstPara"&gt;Now proceed to  the security                                        check.&lt;/div&gt;&lt;/td&gt;                                 &lt;/tr&gt;&lt;tr width="100%"&gt;                                    &lt;td bgcolor="#ffffff" valign="top" width="12%"&gt;&lt;b&gt;Step                                      6:&lt;/b&gt;&lt;/td&gt;                                   &lt;td bgcolor="#ffffff" width="88%"&gt;Here  you have                                        to X-ray your cabin luggage,  purse, or anything                                        that you are carrying in your  hand. Then you                                        have to pass through a metal  detector, where                                        a personal security check will be  done. The                                        officer in charge will put a  "security checked"                                      stamp on your boarding pass. Collect  back                                      all your stuff.                                      &lt;div class="FirstPara"&gt;Now you are all  set to                                        board the plane.&lt;/div&gt;&lt;/td&gt;                                 &lt;/tr&gt;&lt;tr width="100%"&gt;                                    &lt;td bgcolor="#ffffff" valign="top" width="12%"&gt;&lt;b&gt;Step                                      7:&lt;/b&gt;&lt;/td&gt;                                   &lt;td bgcolor="#ffffff" width="88%"&gt;Check  for                                        the departure gate number written  on your                                        boarding pass, and go to that  gate. Now wait                                      till the boarding is announced.&lt;/td&gt;                                 &lt;/tr&gt;&lt;tr width="100%"&gt;                                    &lt;td bgcolor="#ffffff" valign="top" width="12%"&gt;&lt;b&gt;Step                                      8:&lt;/b&gt;&lt;/td&gt;                                   &lt;td bgcolor="#ffffff" width="88%"&gt;Once  you are                                        in the flight, look for the seat  number mentioned                                        on your boarding pass. If there's  any problem,                                        contact the cabin crew. They will  also help                                        you place the baggage in the  overhead bins.                                        Read the safety instruction  booklet. In the                                        plane you will be served food,  snacks, drinks                                        etc., from time to time. You will  be given                                        a blanket and a pillow.                                      &lt;div class="FirstPara"&gt;&lt;span style="color: red;"&gt;**&lt;/span&gt;                                        Important: In case of any problem,  or query                                        during your flight, don't hesitate  to ask                                        the staff.&lt;/div&gt;&lt;/td&gt;                                 &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;hr noshade="noshade" size="0" /&gt;                                                  &lt;a href="" name="4"&gt;&lt;/a&gt;                           &lt;span class="SubTitle"&gt;At the Intermediate/Transit Airport&lt;/span&gt;                         &lt;br /&gt;&lt;div class="FirstPara"&gt;If you have to change  the flight at the intermediate airport then:&lt;/div&gt;&lt;table cellpadding="0" cellspacing="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td bgcolor="#797979"&gt;                               &lt;table cellpadding="5" cellspacing="1" class="Root"&gt;&lt;tbody&gt;&lt;tr width="100%"&gt;                                    &lt;td bgcolor="#ffffff" valign="top" width="12%"&gt;&lt;b&gt;Step                                      1:&lt;/b&gt;&lt;/td&gt;                                   &lt;td bgcolor="#ffffff" width="88%"&gt;As  soon as                                        you reach the intermediate/transit  airport,                                        first thing you must do is to look  for the                                      Terminal and Gate number of your  next flight.&lt;/td&gt;                                 &lt;/tr&gt;&lt;tr width="100%"&gt;                                    &lt;td bgcolor="#ffffff" valign="top" width="12%"&gt;&lt;b&gt;Step                                      2:&lt;/b&gt;&lt;/td&gt;                                   &lt;td bgcolor="#ffffff" width="88%"&gt;All  airports                                        normally have a very good map and  direction                                        instructions. But in case of any  problems,                                      ask the airport staff.&lt;/td&gt;                                 &lt;/tr&gt;&lt;tr width="100%"&gt;                                    &lt;td bgcolor="#ffffff" valign="top" width="12%"&gt;&lt;b&gt;Step                                      3:&lt;/b&gt;&lt;/td&gt;                                   &lt;td bgcolor="#ffffff" width="88%"&gt;Once  you find                                        the gate, then depending on the  time you have,                                        you can relax or shop at the  airport. But,                                        be at your gate 40 minutes prior  to the flight                                        time, as they require some time to  check your                                      tickets etc.&lt;/td&gt;                                 &lt;/tr&gt;&lt;tr width="100%"&gt;                                    &lt;td bgcolor="#ffffff" valign="top" width="12%"&gt;&lt;b&gt;Step                                      4:&lt;/b&gt;&lt;/td&gt;                                   &lt;td bgcolor="#ffffff" width="88%"&gt;You  won't                                        have to do any other formalities  here, apart                                        from passing through the metal  detector, and                                      X-ray of your hand baggage.&lt;/td&gt;                                 &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;span style="color: red;"&gt;**&lt;/span&gt; In case you have to                            change the terminal, then first find out  information                            about the connecting airport shuttle to the  respective                            terminal. It is always advisable to find out  such information                            beforehand, as in some countries, you may need  a &lt;a href="http://www.path2usa.com/immigration/relatedinfo/transit_visa.htm"&gt;Transit                             Visa&lt;/a&gt; to leave one airport, to go to the  other one.&lt;br /&gt;&lt;hr noshade="noshade" size="0" /&gt;                                                    &lt;span class="SubTitle"&gt;Before you reach  destination:&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;table cellpadding="0" cellspacing="0"&gt;&lt;tbody&gt;&lt;tr&gt;                             &lt;td bgcolor="#797979"&gt;                                &lt;table cellpadding="5" cellspacing="1" class="Root"&gt;&lt;tbody&gt;&lt;tr width="100%"&gt;                                    &lt;td bgcolor="#ffffff" valign="top" width="12%"&gt;&lt;b&gt;In                                      Flight &lt;/b&gt;&lt;/td&gt;                                   &lt;td bgcolor="#ffffff" width="88%"&gt;Few  hours                                      before arrival, the flight  attendants will                                      give you&lt;br /&gt;give you two forms to fill. One will  be the                                      US custom form, and the other will  be the                                      immigration (&lt;strong&gt; I-94 &lt;/strong&gt;)  form.                                      Fill them very carefully.&lt;br /&gt;Sample : this is how &lt;a href="http://www.path2usa.com/immigration/resources/i94sample.pdf"&gt;I-94                                      Form&lt;/a&gt;                                       &lt;img height="15" src="http://www.path2usa.com/images/PDF_Icon.gif" width="14" /&gt;                                       and &lt;a href="http://www.path2usa.com/immigration/resources/sample/us_customs_form.pdf"&gt;USA                                       Custom Form&lt;/a&gt;                                       &lt;img height="15" src="http://www.path2usa.com/images/PDF_Icon.gif" width="14" /&gt;                                       look like.&lt;br /&gt;&lt;br /&gt;If you have questions, dont hesitate  to ask                                      any co-passenger and aks for the  help to fill                                      the forms correctly.&lt;/td&gt;                                 &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;                           &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;span class="SubTitle"&gt; &lt;/span&gt;                        &amp;nbsp; &lt;br /&gt;&lt;hr noshade="noshade" size="0" /&gt;                                                 &lt;a href="" name="5"&gt;&lt;/a&gt;                           &lt;span class="SubTitle"&gt;When you reach your Destination Airport&lt;/span&gt;                         &lt;br /&gt;&lt;br /&gt;&lt;table cellpadding="0" cellspacing="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td bgcolor="#797979"&gt;   &lt;table cellpadding="5" cellspacing="1" class="Root"&gt;&lt;tbody&gt;&lt;tr width="100%"&gt;       &lt;td bgcolor="#ffffff" valign="top"&gt;&lt;b&gt;Step 1:&lt;/b&gt;&lt;/td&gt;       &lt;td bgcolor="#ffffff"&gt;Immigration          counter. Here, the inspector will check your          passport and the immigration form. He might          ask a few questions about your visa status,          purpose of visit, address of stay, duration          of stay etc. Answer them very carefully, and          politely. The officer will attach a part of          I-94 form you filled, to your passport. You          will also be aksed for &lt;a href="http://www.path2usa.com/immigration/visitorvisa/us_visit_process.htm"&gt;digital             fingerprint and a photograph.&lt;/a&gt;&lt;br /&gt;Now on your way, you will find a custom officer.         &lt;div class="FirstPara"&gt;&lt;span style="color: red;"&gt;** Remember:&lt;/span&gt;  The counter slip of I-94 is very important. Check for visa status, and  expiry date, written by the officer on it.&lt;/div&gt;&lt;/td&gt;     &lt;/tr&gt;&lt;tr width="100%"&gt;     &lt;td bgcolor="#ffffff" valign="top" width="12%"&gt;&lt;b&gt;Step 2:&lt;/b&gt;&lt;/td&gt;     &lt;td bgcolor="#ffffff" width="88%"&gt;Collect a baggage trolley and go  to the baggage collection counter, find your baggage with your flight  number displayed on the tag. Collect your baggage.                               &lt;div class="FirstPara"&gt;&lt;span class="Note"&gt;Note:&lt;/span&gt;&lt;span class="NoteText"&gt;                                        At some airports, there are  charges for                                        taking trolley/cart viz. 1or 2  Dollar or                                        so. Hence keep some change handy.&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;    &lt;/tr&gt;&lt;tr width="100%"&gt;     &lt;td bgcolor="#ffffff" valign="top" width="12%"&gt;&lt;b&gt;Step 3:&lt;/b&gt;&lt;/td&gt;     &lt;td bgcolor="#ffffff" width="88%"&gt;The custom officer will ask for  the custom form.      &lt;div class="FirstPara"&gt;Now proceed towards the "Exit" gate.&lt;/div&gt;&lt;/td&gt;    &lt;/tr&gt;&lt;tr width="100%"&gt;     &lt;td bgcolor="#ffffff" valign="top" width="12%"&gt;&lt;b&gt;Step 4:&lt;/b&gt;&lt;/td&gt;     &lt;td bgcolor="#ffffff" width="88%"&gt;If you are expecting somebody to  receive you, you might find them here in this lobby. If not, you may go  to the information counter desk, and enquire about the transport  information.&lt;/td&gt;    &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;span style="color: red;"&gt;** Remember:&lt;/span&gt; If  you are questioned by the airport                            officers, answer them properly without any  fear. But                            be careful, there should not be any  discrepancy in the                            information stated in your documents and what  you answer.                            It has happened in few cases, that due to the  unsatisfactory                            answers about the stay, status, etc. people  have been                            deported immediately. For instance, don't ever  say,                            you will work here, if you hold H4, L2, B1 or  visitor                            visa.&lt;br /&gt;&lt;b&gt;US  Custom related questions:&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;a href="http://help.customs.gov/cgi-bin/customs.cfg/php/enduser/std_alp.php" target="_blank"&gt;Checkout                            the frequently aksed question and answers  about US custom.&lt;/a&gt;&lt;/b&gt;&lt;br /&gt;&lt;hr noshade="noshade" size="0" /&gt;                                                   &lt;a href="" name="6"&gt;&lt;/a&gt;                           &lt;span class="SubTitle"&gt;How to make a Call to other coutires From the  Airport?&lt;/span&gt;                         &lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;strong&gt;Option1:&lt;/strong&gt; You can make a call anywhere in the  world from most of the airport public booths using visa/master cards.  You will find dial-in instructions be on the phone.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Option2:&lt;/strong&gt; Buy calling cards from the shops inside  the terminal. It's always better to carry some $5 or $10 bills. Dial-in  instructions will be on the card.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Option3:&lt;/strong&gt; Those who can avail AT&amp;amp;T calling  Card, can carry AT&amp;amp;T calling card that can be used internationally.  Usually along with the card you get the dial-in instruction of various  countries.                         &lt;/li&gt;&lt;/ul&gt;&lt;hr noshade="noshade" size="0" /&gt;                                                 &lt;a href="" name="7"&gt;&lt;/a&gt; &lt;span class="SubTitle"&gt;Useful  Tips:&lt;/span&gt;&lt;br /&gt;Here is some useful english differences /  terminology                            you may find very useful during your flight or  at the                            airport. Specilly if your destination is USA  and travelling                            by a USA airlines.                         &lt;br /&gt;&lt;br /&gt;&lt;table cellpadding="0" cellspacing="0"&gt;&lt;tbody&gt;&lt;tr&gt;                             &lt;td bgcolor="#797979"&gt;                                &lt;table cellpadding="5" cellspacing="1" class="Root"&gt;&lt;tbody&gt;&lt;tr width="100%"&gt;                                    &lt;td bgcolor="#ffffff" valign="top" width="50%"&gt;&lt;b&gt;Indian                                      English &lt;/b&gt;&lt;/td&gt;                                   &lt;td bgcolor="#ffffff" width="50%"&gt;                                      &lt;div class="FirstPara"&gt;&lt;b&gt;American  English&lt;/b&gt;&lt;/div&gt;&lt;/td&gt;                                 &lt;/tr&gt;&lt;tr width="100%"&gt;                                    &lt;td bgcolor="#ffffff" valign="top" width="50%"&gt;Luggage&lt;/td&gt;                                   &lt;td bgcolor="#ffffff" width="50%"&gt;Baggage&lt;/td&gt;                                 &lt;/tr&gt;&lt;tr width="100%"&gt;                                    &lt;td bgcolor="#ffffff" valign="top" width="50%"&gt;Air                                      Hostess&lt;/td&gt;                                   &lt;td bgcolor="#ffffff" width="50%"&gt;Flight  Attendant&lt;/td&gt;                                 &lt;/tr&gt;&lt;tr width="100%"&gt;                                    &lt;td bgcolor="#ffffff" valign="top" width="50%"&gt;Soft                                      drink / Cold drink&lt;/td&gt;                                   &lt;td bgcolor="#ffffff" width="50%"&gt;Soda  / Drink&lt;/td&gt;                                 &lt;/tr&gt;&lt;tr width="100%"&gt;                                    &lt;td bgcolor="#ffffff" valign="top" width="50%"&gt;Film&lt;/td&gt;                                   &lt;td bgcolor="#ffffff" width="50%"&gt;Movie&lt;/td&gt;                                 &lt;/tr&gt;&lt;tr width="100%"&gt;                                    &lt;td bgcolor="#ffffff" valign="top" width="50%"&gt;Dollar                                      Note&lt;/td&gt;                                   &lt;td bgcolor="#ffffff" width="50%"&gt;Dollar  Bill&lt;/td&gt;                                 &lt;/tr&gt;&lt;tr width="100%"&gt;                                    &lt;td bgcolor="#ffffff" valign="top" width="50%"&gt;Bathroom&lt;/td&gt;                                   &lt;td bgcolor="#ffffff" width="50%"&gt;Restroom&lt;/td&gt;                                 &lt;/tr&gt;&lt;tr width="100%"&gt;                                    &lt;td bgcolor="#ffffff" valign="top" width="50%"&gt;Tea&lt;/td&gt;                                   &lt;td bgcolor="#ffffff" width="50%"&gt;Hot  Tea&lt;/td&gt;                                 &lt;/tr&gt;&lt;tr width="100%"&gt;                                    &lt;td bgcolor="#ffffff" valign="top" width="50%"&gt;Milk                                      for Tea or Coffee&lt;/td&gt;                                   &lt;td bgcolor="#ffffff" width="50%"&gt;Creamer&lt;/td&gt;                                 &lt;/tr&gt;&lt;tr width="100%"&gt;                                   &lt;td bgcolor="#ffffff" valign="top" width="50%"&gt;Plain                                      water&lt;/td&gt;                                   &lt;td bgcolor="#ffffff" width="50%"&gt;Water  with                                      no Ice&lt;/td&gt;                                 &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;                           &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;You  can find more : &lt;a href="http://www.path2usa.com/lifestyle/culture/terminology.htm"&gt;More                            commonly used english words and differences.&lt;/a&gt;&lt;br /&gt;&lt;hr /&gt;                        &lt;a href="" name="8"&gt;&lt;/a&gt;&lt;br /&gt;&lt;div class="SubTitle"&gt;Frequently Asked Questions&lt;/div&gt;&lt;span&gt;&lt;strong&gt;What if at the last moment, they  ask you to give your cabin bag as checkin luggage?&lt;/strong&gt;&lt;/span&gt;                         &lt;div class="FirstPara"&gt;Sometimes, it happens that at the  last minute you may be asked to checkin your cabin bag. You may have  some important documents and jewelry in it. So don't panic, in such case  insist that you want to keep them with you. Remember you are doing a  favor to them by traveling by their airlines and not vice versa, so  politely try to talk them about your problem.&lt;/div&gt;&lt;span&gt;&lt;strong&gt;What if you lose your luggage?&lt;/strong&gt;&lt;/span&gt;                         &lt;div class="FirstPara"&gt;Normally, this doesn't happen. In case  you do not find your checkin luggage, inform the airlines authorities.  If it is misplaced during transit or in the airlines, then it will be  delivered to your address in a few days. If it is delayed for more then 2  days or so, You may ask for the compensation to buy daily necessary  stuff, till you get your luggage back.&lt;/div&gt;If  it is missing for ever, they will compensate according to their nominal  rules. &lt;br /&gt;&lt;span&gt;&lt;strong&gt;What if your flight is  delayed or canceled?&lt;/strong&gt;&lt;/span&gt;                        &lt;div class="FirstPara"&gt;In case your flight is delayed because of bad weather,  or any other reason, airlines might offer you food, and make  arrangements for your stay. &lt;/div&gt;&lt;span&gt;&lt;strong&gt;What  if you miss your flight?&lt;/strong&gt;&lt;/span&gt;                        &lt;div class="FirstPara"&gt;Talk to the airlines staff or authorities at the  airport, they should be able to send you on the next available flight,  or make some other other alternative arrangements.&lt;/div&gt;&lt;span&gt;&lt;strong&gt;What if  nobody comes to receive you at the airport?&lt;/strong&gt;&amp;lt;&lt;/span&gt;                         &lt;div class="FirstPara"&gt;Find out information from  the Information Counter, about the taxi stand or the airport shuttle  schedules. It's always better to have a complete address of your stay.  Try to get driving directions from the web sites like yahoo etc. These  directions can be useful for the driver to take you to the right place.&lt;/div&gt;&lt;strong&gt;Bon Voyage!&lt;br /&gt;&lt;br /&gt;&lt;/strong&gt;&lt;br /&gt;&lt;table cellpadding="0" cellspacing="0" class="Root"&gt;&lt;tbody&gt;&lt;tr&gt;                                 &lt;td bgcolor="#797979"&gt;                                   &lt;table border="0" cellpadding="2" cellspacing="1" class="Root" valign="top"&gt;&lt;tbody&gt;&lt;tr&gt;                                       &lt;td bgcolor="#ffcc99"&gt; &lt;span class="BlackHighlight"&gt;&amp;nbsp;Related Links:&lt;/span&gt; &lt;/td&gt;                                     &lt;/tr&gt;&lt;tr align="left"&gt;                                       &lt;td bgcolor="#ffffff"&gt;                                         &lt;ul&gt;&lt;li&gt;&lt;b&gt;&lt;a href="http://classifieds.path2usa.com/classifieds/clf_vis_ad_list.php?sct_id=35"&gt;Find  Travel Companion for your travel&lt;/a&gt;&lt;/b&gt;&lt;/li&gt;&lt;li&gt;&lt;strong&gt;&lt;a href="http://www.path2usa.com/insurance/"&gt;Visitor Medical Insurance&lt;/a&gt;,  Did you get the visitor insuarnce for  US visit? &lt;/strong&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.path2usa.com/immigration/visitorvisa/us_visit_process.htm"&gt;US-Visit  process&lt;/a&gt; - [ When you enter into USA] &lt;/li&gt;&lt;li&gt;&lt;strong&gt;Exiting USA : &lt;/strong&gt;&lt;a href="http://www.path2usa.com/immigration/visitorvisa/exitusa.htm"&gt;Travel  back to home country&lt;/a&gt; - a must read &lt;strong&gt;&lt;br /&gt;&lt;/strong&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/td&gt;                                     &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;                               &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;hr noshade="noshade" size="0" /&gt;                                                    &lt;a href="" name="9"&gt;&lt;/a&gt;                        &lt;strong&gt;Need  Travel Companion?&lt;/strong&gt;&lt;br /&gt;If you are  traveling first time and need any travel companion ?&lt;br /&gt;Its not a bad idea to find some one who is traveling in the  same flight.&lt;br /&gt;While knowing some one who is  travling with you provide you a mental comfort , its may also be a good  time pass.&lt;br /&gt;Post your Ad here on path2usa  for Travel companion, This will help you or people like you to find  travel companion.&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;</content><link rel='replies' type='application/atom+xml' href='http://iisadmins.blogspot.com/feeds/1570455834964823786/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://iisadmins.blogspot.com/2010/04/first-air-travel-to-usa-plan-hassle.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8251212359688996660/posts/default/1570455834964823786'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8251212359688996660/posts/default/1570455834964823786'/><link rel='alternate' type='text/html' href='http://iisadmins.blogspot.com/2010/04/first-air-travel-to-usa-plan-hassle.html' title='First Air Travel To USA- Plan a hassle free trip'/><author><name>Jawahar Adityan</name><uri>https://plus.google.com/111255894595346601465</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-2YAc3s1Mnh0/AAAAAAAAAAI/AAAAAAAAHW0/5JUOixENRos/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8251212359688996660.post-3290539708178652572</id><published>2010-03-24T21:26:00.002+05:30</published><updated>2010-03-24T21:26:05.675+05:30</updated><title type='text'>IIS 6.0 Resource Kit Tools</title><content type='html'>&lt;a href="http://support.microsoft.com/kb/840671"&gt;http://support.microsoft.com/kb/840671&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://iisadmins.blogspot.com/feeds/3290539708178652572/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://iisadmins.blogspot.com/2010/03/iis-60-resource-kit-tools.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8251212359688996660/posts/default/3290539708178652572'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8251212359688996660/posts/default/3290539708178652572'/><link rel='alternate' type='text/html' href='http://iisadmins.blogspot.com/2010/03/iis-60-resource-kit-tools.html' title='IIS 6.0 Resource Kit Tools'/><author><name>Jawahar Adityan</name><uri>https://plus.google.com/111255894595346601465</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-2YAc3s1Mnh0/AAAAAAAAAAI/AAAAAAAAHW0/5JUOixENRos/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8251212359688996660.post-5524187511522205727</id><published>2010-03-24T21:21:00.001+05:30</published><updated>2010-03-24T21:31:31.281+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='performance'/><title type='text'>Performance Tuning in IIS 6.0</title><content type='html'>&lt;a href="http://www.iisfaq.com/Default.aspx?tabid=2508"&gt;http://www.iisfaq.com/Default.aspx?tabid=2508&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;Web server administrators often monitor their Web servers to create a performance baseline. A performance baseline is a collection of data that indicates how the servers are performing when everything is running smoothly. Before making changes to their servers in a production environment, administrators tune their servers in a test environment to achieve the established performance baseline. By tuning their servers, Web server administrators maximize the Web server's ability to handle HTTP requests and minimize Web application response times, which create a better experience for clients accessing their Web servers.&lt;/div&gt;&lt;h2 class="heading" style="font-size: 13px; font-weight: 700; margin-bottom: 8px; margin-top: 18px;"&gt;In This Section&lt;/h2&gt;&lt;div class="section" id="inThisSectionSection"&gt;&lt;div style="margin-bottom: 15px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;This section includes the following information:&lt;/div&gt;&lt;ul style="line-height: 15px; list-style-position: outside; list-style-type: disc; margin-bottom: 15px;"&gt;&lt;li class="unordered" style="list-style-image: url(http://i3.technet.microsoft.com/Platform/MasterPages/Library/b.gif); margin-bottom: 3px; margin-left: 0px;"&gt;&lt;a href="http://technet.microsoft.com/en-us/library/cc778828(WS.10).aspx" id="ctl00_MTCS_main_ctl01" onclick="javascript:Track('ctl00_MTCS_main_ctl00|ctl00_MTCS_main_ctl01',this);" style="color: #0033cc; text-decoration: none;"&gt;Using HTTP Compression&lt;/a&gt;: Describes how to improve performance between client computers and servers by reducing file sizes before the files are sent to the client computer. Reducing the file size as described here is referred to as compression.&lt;br /&gt;&lt;/li&gt;&lt;li class="unordered" style="list-style-image: url(http://i3.technet.microsoft.com/Platform/MasterPages/Library/b.gif); margin-bottom: 3px; margin-left: 0px;"&gt;&lt;a href="http://technet.microsoft.com/en-us/library/cc780771(WS.10).aspx" id="ctl00_MTCS_main_ctl02" onclick="javascript:Track('ctl00_MTCS_main_ctl00|ctl00_MTCS_main_ctl02',this);" style="color: #0033cc; text-decoration: none;"&gt;Enabling HTTP Keep-Alives&lt;/a&gt;: Describes how to use HTTP Keep-Alive requests to maintain an open connection.&lt;br /&gt;&lt;/li&gt;&lt;li class="unordered" style="list-style-image: url(http://i3.technet.microsoft.com/Platform/MasterPages/Library/b.gif); margin-bottom: 3px; margin-left: 0px;"&gt;&lt;a href="http://technet.microsoft.com/en-us/library/cc780561(WS.10).aspx" id="ctl00_MTCS_main_ctl03" onclick="javascript:Track('ctl00_MTCS_main_ctl00|ctl00_MTCS_main_ctl03',this);" style="color: #0033cc; text-decoration: none;"&gt;Limiting Connections&lt;/a&gt;: Describes how to set limits on the number of connections to a Web server.&lt;br /&gt;&lt;/li&gt;&lt;li class="unordered" style="list-style-image: url(http://i3.technet.microsoft.com/Platform/MasterPages/Library/b.gif); margin-bottom: 3px; margin-left: 0px;"&gt;&lt;a href="http://technet.microsoft.com/en-us/library/cc759416(WS.10).aspx" id="ctl00_MTCS_main_ctl04" onclick="javascript:Track('ctl00_MTCS_main_ctl00|ctl00_MTCS_main_ctl04',this);" style="color: #0033cc; text-decoration: none;"&gt;Setting Connection Timeouts&lt;/a&gt;: Describes how to set connection time-out values on a Web server.&lt;br /&gt;&lt;/li&gt;&lt;li class="unordered" style="list-style-image: url(http://i3.technet.microsoft.com/Platform/MasterPages/Library/b.gif); margin-bottom: 3px; margin-left: 0px;"&gt;&lt;a href="http://technet.microsoft.com/en-us/library/cc757920(WS.10).aspx" id="ctl00_MTCS_main_ctl05" onclick="javascript:Track('ctl00_MTCS_main_ctl00|ctl00_MTCS_main_ctl05',this);" style="color: #0033cc; text-decoration: none;"&gt;Throttling Bandwidth&lt;/a&gt;: Describes how to change the bandwidth used by a Web server and individual Web sites.&lt;br /&gt;&lt;/li&gt;&lt;li class="unordered" style="list-style-image: url(http://i3.technet.microsoft.com/Platform/MasterPages/Library/b.gif); margin-bottom: 3px; margin-left: 0px;"&gt;&lt;a href="http://technet.microsoft.com/en-us/library/cc758364(WS.10).aspx" id="ctl00_MTCS_main_ctl06" onclick="javascript:Track('ctl00_MTCS_main_ctl00|ctl00_MTCS_main_ctl06',this);" style="color: #0033cc; text-decoration: none;"&gt;Setting the IIS Object Cache Time Period&lt;/a&gt;: Describes how to set the IIS object cache time period.&lt;br /&gt;&lt;/li&gt;&lt;li class="unordered" style="list-style-image: url(http://i3.technet.microsoft.com/Platform/MasterPages/Library/b.gif); margin-bottom: 3px; margin-left: 0px;"&gt;&lt;a href="http://technet.microsoft.com/en-us/library/cc728171(WS.10).aspx" id="ctl00_MTCS_main_ctl07" onclick="javascript:Track('ctl00_MTCS_main_ctl00|ctl00_MTCS_main_ctl07',this);" style="color: #0033cc; text-decoration: none;"&gt;Maximizing Data Throughput for Network Applications&lt;/a&gt;: Describes how to maximizing data throughput for network applications.&lt;br /&gt;&lt;/li&gt;&lt;li class="unordered" style="list-style-image: url(http://i3.technet.microsoft.com/Platform/MasterPages/Library/b.gif); margin-bottom: 3px; margin-left: 0px;"&gt;&lt;a href="http://technet.microsoft.com/en-us/library/cc781248(WS.10).aspx" id="ctl00_MTCS_main_ctl08" onclick="javascript:Track('ctl00_MTCS_main_ctl00|ctl00_MTCS_main_ctl08',this);" style="color: #0033cc; text-decoration: none;"&gt;Setting the SSL Cache Time-out Interval&lt;/a&gt;: Describes how to set the SSL cache time-out interval.&lt;br /&gt;&lt;/li&gt;&lt;li class="unordered" style="list-style-image: url(http://i3.technet.microsoft.com/Platform/MasterPages/Library/b.gif); margin-bottom: 3px; margin-left: 0px;"&gt;&lt;a href="http://technet.microsoft.com/en-us/library/cc778898(WS.10).aspx" id="ctl00_MTCS_main_ctl09" onclick="javascript:Track('ctl00_MTCS_main_ctl00|ctl00_MTCS_main_ctl09',this);" style="color: #0033cc; text-decoration: none;"&gt;Measuring Load Time for a Web Page&lt;/a&gt;: Describes how to measure load time for a Web page.&lt;br /&gt;&lt;/li&gt;&lt;li class="unordered" style="list-style-image: url(http://i3.technet.microsoft.com/Platform/MasterPages/Library/b.gif); margin-bottom: 3px; margin-left: 0px;"&gt;&lt;a href="http://technet.microsoft.com/en-us/library/cc779108(WS.10).aspx" id="ctl00_MTCS_main_ctl10" onclick="javascript:Track('ctl00_MTCS_main_ctl00|ctl00_MTCS_main_ctl10',this);" style="color: #0033cc; text-decoration: none;"&gt;Enabling CPU Monitoring in IIS 6.0&lt;/a&gt;: Describes how to monitor and stop problematic applications.&lt;br /&gt;&lt;/li&gt;&lt;li class="unordered" style="list-style-image: url(http://i3.technet.microsoft.com/Platform/MasterPages/Library/b.gif); margin-bottom: 3px; margin-left: 0px;"&gt;&lt;a href="http://technet.microsoft.com/en-us/library/cc783466(WS.10).aspx" id="ctl00_MTCS_main_ctl11" onclick="javascript:Track('ctl00_MTCS_main_ctl00|ctl00_MTCS_main_ctl11',this);" style="color: #0033cc; text-decoration: none;"&gt;Configuring Application Pool Queue-Length Limits&lt;/a&gt;: Describes how to limit the number of requests IIS stores in any application pool queue so the requests do not grow to such a large size as to exhaust server resources.&lt;br /&gt;&lt;/li&gt;&lt;li class="unordered" style="list-style-image: url(http://i3.technet.microsoft.com/Platform/MasterPages/Library/b.gif); margin-bottom: 3px; margin-left: 0px;"&gt;&lt;a href="http://technet.microsoft.com/en-us/library/cc776523(WS.10).aspx" id="ctl00_MTCS_main_ctl12" onclick="javascript:Track('ctl00_MTCS_main_ctl00|ctl00_MTCS_main_ctl12',this);" style="color: #0033cc; text-decoration: none;"&gt;Scalability&lt;/a&gt;: Provides information and links to detailed resources about scalability.&lt;br /&gt;&lt;/li&gt;&lt;li class="unordered" style="list-style-image: url(http://i3.technet.microsoft.com/Platform/MasterPages/Library/b.gif); margin-bottom: 3px; margin-left: 0px;"&gt;&lt;a href="http://technet.microsoft.com/en-us/library/cc739652(WS.10).aspx" id="ctl00_MTCS_main_ctl13" onclick="javascript:Track('ctl00_MTCS_main_ctl00|ctl00_MTCS_main_ctl13',this);" style="color: #0033cc; text-decoration: none;"&gt;Configuring Last-Modified Caching&lt;/a&gt;: Describes how to configure last-modified caching.&lt;br /&gt;&lt;/li&gt;&lt;li class="unordered" style="list-style-image: url(http://i3.technet.microsoft.com/Platform/MasterPages/Library/b.gif); margin-bottom: 3px; margin-left: 0px;"&gt;&lt;a href="http://technet.microsoft.com/en-us/library/cc727911(WS.10).aspx" id="ctl00_MTCS_main_ctl14" onclick="javascript:Track('ctl00_MTCS_main_ctl00|ctl00_MTCS_main_ctl14',this);" style="color: #0033cc; text-decoration: none;"&gt;Configuring ASP Change-Notification Caching&lt;/a&gt;: Describes how to configure ASP change-notification caching.&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;h2 class="heading" style="font-size: 13px; font-weight: 700; margin-bottom: 8px; margin-top: 18px;"&gt;Related Sections&lt;/h2&gt;&lt;div class="section" id="relatedSectionsSection"&gt;&lt;ul style="line-height: 15px; list-style-position: outside; list-style-type: disc; margin-bottom: 15px;"&gt;&lt;li class="unordered" style="list-style-image: url(http://i3.technet.microsoft.com/Platform/MasterPages/Library/b.gif); margin-bottom: 3px; margin-left: 0px;"&gt;For more information about each of the performance features described in this section and for a more detailed introduction into what it means to monitor and tune an IIS Web server, see&amp;nbsp;&lt;a href="http://go.microsoft.com/fwlink/?LinkId=10503" id="ctl00_MTCS_main_ctl15" onclick="javascript:Track('ctl00_MTCS_main_ctl00|ctl00_MTCS_main_ctl15',this);" style="color: #0033cc; text-decoration: none;"&gt;Optimizing IIS 6.0 Performance&lt;/a&gt;.&lt;br /&gt;&lt;/li&gt;&lt;li class="unordered" style="list-style-image: url(http://i3.technet.microsoft.com/Platform/MasterPages/Library/b.gif); margin-bottom: 3px; margin-left: 0px;"&gt;For more information about performance tuning, how to work with counters, how to create and configure counters, trace logs, or alerts, and a list of best practices; see "&lt;a href="http://go.microsoft.com/fwlink/?LinkId=53999" id="ctl00_MTCS_main_ctl16" onclick="javascript:Track('ctl00_MTCS_main_ctl00|ctl00_MTCS_main_ctl16',this);" style="color: #0033cc; text-decoration: none;"&gt;Monitoring Performance&lt;/a&gt;" in Help and Support Center for Windows Server 2003.&lt;br /&gt;&lt;/li&gt;&lt;li class="unordered" style="list-style-image: url(http://i3.technet.microsoft.com/Platform/MasterPages/Library/b.gif); margin-bottom: 3px; margin-left: 0px;"&gt;For information about monitoring the performance of your ASP.NET applications, see&amp;nbsp;&lt;a href="http://technet.microsoft.com/en-us/library/cc784507(WS.10).aspx" id="ctl00_MTCS_main_ctl17" onclick="javascript:Track('ctl00_MTCS_main_ctl00|ctl00_MTCS_main_ctl17',this);" style="color: #0033cc; text-decoration: none;"&gt;Overview of ASP.NET Performance Monitoring&lt;/a&gt;.&lt;br /&gt;&lt;/li&gt;&lt;li class="unordered" style="list-style-image: url(http://i3.technet.microsoft.com/Platform/MasterPages/Library/b.gif); margin-bottom: 3px; margin-left: 0px;"&gt;For more information about the Web Capacity Analysis Tool for performance testing and monitoring, download the&amp;nbsp;&lt;a href="http://go.microsoft.com/fwlink/?LinkId=17150" id="ctl00_MTCS_main_ctl18" onclick="javascript:Track('ctl00_MTCS_main_ctl00|ctl00_MTCS_main_ctl18',this);" style="color: #0033cc; text-decoration: none;"&gt;IIS 6.0 Resource Kit Tools&lt;/a&gt;&amp;nbsp;and their accompanying documentation.&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://iisadmins.blogspot.com/feeds/5524187511522205727/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://iisadmins.blogspot.com/2010/03/performance-tuning-in-iis-60.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8251212359688996660/posts/default/5524187511522205727'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8251212359688996660/posts/default/5524187511522205727'/><link rel='alternate' type='text/html' href='http://iisadmins.blogspot.com/2010/03/performance-tuning-in-iis-60.html' title='Performance Tuning in IIS 6.0'/><author><name>Jawahar Adityan</name><uri>https://plus.google.com/111255894595346601465</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-2YAc3s1Mnh0/AAAAAAAAAAI/AAAAAAAAHW0/5JUOixENRos/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8251212359688996660.post-2004750201262111340</id><published>2010-03-24T21:18:00.000+05:30</published><updated>2010-03-24T21:18:19.366+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Adplus'/><category scheme='http://www.blogger.com/atom/ns#' term='IIS tool'/><title type='text'>How to use ADPlus to troubleshoot "hangs" and "crashes" ?</title><content type='html'>&lt;b&gt;Suimmary :&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;ADPlus is a tool from Microsoft Product Support Services (PSS) that can troubleshoot any process or application that stops responding (hangs) or fails (crashes). Frequently, you can use ADPlus (ADPlus.vbs) as a replacement tool for the Microsoft Internet Information Server (IIS) Exception Monitor (6.1/7.1) and User Mode Process Dump. These are two separate tools that PSS frequently uses to isolate what causes a process to stop responding (hang) or quit unexpectedly (crash) in a Microsoft Windows DNA environment.&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;b&gt;When should you use ADPlus?&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;ADPlus is intended to provide Microsoft PSS support professionals with debugging information that they must have to isolate the cause of problems that occur in complex environments.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Use ADPlus to capture debugging information if you are experiencing the following problems:&lt;/div&gt;&lt;div&gt;Processes that stop responding.&lt;/div&gt;&lt;div&gt;Processes that consume 100 percent CPU on a single processor computer, 50 percent CPU on a dual processor computer, 25 percent CPU on a quad processor computer, and so on.&lt;/div&gt;&lt;div&gt;Processes that crash or shut down unexpectedly.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;b&gt;Where do you obtain ADPlus?&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;ADPlus is included with the latest Microsoft Debugging Tools for Windows. To obtain the latest Microsoft Debugging Tools for Windows, visit the following Microsoft Web site:&lt;/div&gt;&lt;div&gt;http://www.microsoft.com/whdc/devtools/debugging/default.mspx&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://support.microsoft.com/default.aspx?scid=kb;EN-US;q286350"&gt;Read More&amp;nbsp;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://iisadmins.blogspot.com/feeds/2004750201262111340/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://iisadmins.blogspot.com/2010/03/how-to-use-adplus-to-troubleshoot-hangs.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8251212359688996660/posts/default/2004750201262111340'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8251212359688996660/posts/default/2004750201262111340'/><link rel='alternate' type='text/html' href='http://iisadmins.blogspot.com/2010/03/how-to-use-adplus-to-troubleshoot-hangs.html' title='How to use ADPlus to troubleshoot &quot;hangs&quot; and &quot;crashes&quot; ?'/><author><name>Jawahar Adityan</name><uri>https://plus.google.com/111255894595346601465</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-2YAc3s1Mnh0/AAAAAAAAAAI/AAAAAAAAHW0/5JUOixENRos/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8251212359688996660.post-2315943713429861835</id><published>2010-03-24T21:14:00.001+05:30</published><updated>2010-03-24T21:15:33.632+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='IIS 6.0'/><category scheme='http://www.blogger.com/atom/ns#' term='backup'/><category scheme='http://www.blogger.com/atom/ns#' term='metabase'/><title type='text'>What needs to be backed up in  IIS 6.0 ?</title><content type='html'>refer :&amp;nbsp;&lt;a href="http://blogs.iis.net/chrisad/archive/2006/08/21/1376661.aspx"&gt;http://blogs.iis.net/chrisad/archive/2006/08/21/1376661.aspx&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Diaster recovery -&amp;nbsp;&lt;a href="http://technet.microsoft.com/hi-in/magazine/2006.08.saveyourweb(en-us).aspx"&gt;http://technet.microsoft.com/hi-in/magazine/2006.08.saveyourweb(en-us).aspx&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: #5b5b5b; font-family: Tahoma, Verdana, Helvetica, Arial, sans-serif; font-size: 13px;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="line-height: 19px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 7px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span style="font-family: 'Lucida Sans Unicode'; font-size: x-small;"&gt;Last year, I did a presentation in the IIS Webcast Series called “&lt;/span&gt;&lt;a href="http://go.microsoft.com/fwlink/?LinkId=28752" style="color: #1083cc; font-weight: normal; text-decoration: none;" target="_blank"&gt;&lt;span style="font-family: 'Lucida Sans Unicode'; font-size: x-small;"&gt;Disaster Recovery and IIS 6.0: Metabase backups in a Nutshell.&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family: 'Lucida Sans Unicode'; font-size: x-small;"&gt;”&amp;nbsp; The main reason I put that webcast together is to ensure that customers had prescriptive guidance on the “what” &amp;amp; “how” of doing backups of IIS servers.&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height: 19px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 7px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span style="font-family: 'Lucida Sans Unicode'; font-size: x-small;"&gt;The key understanding is that IIS is a part of the operating systems and has many, many dependencies on that platform.&amp;nbsp; A person tasked with understanding a organizations backup strategy cannot overlook this simple fact.&amp;nbsp; This webcast spent some time discussing backups but did so by looking at three major pieces:&lt;/span&gt;&lt;/div&gt;&lt;ul style="list-style-image: initial; list-style-position: initial; list-style-type: none; margin-bottom: 5px; margin-left: 0px; margin-right: 0px; margin-top: 5px; padding-bottom: 0px; padding-left: 30px; padding-right: 0px; padding-top: 5px;"&gt;&lt;li style="list-style-image: initial; list-style-position: initial; list-style-type: disc; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 5px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span style="font-family: 'Lucida Sans Unicode'; font-size: x-small;"&gt;IIS Web Content (i.e. inetpub\wwwroot)&lt;/span&gt;&lt;/li&gt;&lt;li style="list-style-image: initial; list-style-position: initial; list-style-type: disc; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 5px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span style="font-family: 'Lucida Sans Unicode'; font-size: x-small;"&gt;IIS Configuration (i.e. metabase.xml)&lt;/span&gt;&lt;/li&gt;&lt;li style="list-style-image: initial; list-style-position: initial; list-style-type: disc; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 5px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span style="font-family: 'Lucida Sans Unicode'; font-size: x-small;"&gt;Operating System Components (i.e. Certificates, COM+, etc.)&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div style="line-height: 19px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 7px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span style="font-family: 'Lucida Sans Unicode'; font-size: x-small;"&gt;During this presentation, I talked about and delivered a sample script that customers can use to back up these pieces of information.&amp;nbsp; I also explained the how &amp;amp; why of each part.&amp;nbsp; I felt that I could summarize here -&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height: 19px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 7px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;strong&gt;&lt;u&gt;&lt;span style="font-family: 'Lucida Sans Unicode'; font-size: x-small;"&gt;IIS Web Content&lt;/span&gt;&lt;/u&gt;&lt;/strong&gt;&lt;/div&gt;&lt;div style="line-height: 19px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 7px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span style="font-family: 'Lucida Sans Unicode'; font-size: x-small;"&gt;This is the single most important asset a company has.&amp;nbsp; The intellectual property of the site is completely built around the content that host the companies website.&amp;nbsp; The content, though, goes beyond just web pages, but images, documents, privacy information, etc.&amp;nbsp; In the world of Web Farms, it is important to ensure that everything is in sync.&amp;nbsp; To facilitate a backup strategy, a step that could be taken would to centralized content on a UNC Share.&amp;nbsp; This feature was enhanced significantly in IIS 6.0.&amp;nbsp; This certainly makes backups easy, but there are architectural understandings that need to be known before jumping into UNC scenarios.&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height: 19px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 7px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span style="font-family: 'Lucida Sans Unicode'; font-size: x-small;"&gt;Thus, UNC is good for backups in web farm scenarios.&amp;nbsp; However, hosting content locally does not make it impossible.&amp;nbsp; There are several good utilities out there to copy data, but I stick with xcopy as it does a lot of the greatness I was looking for.&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height: 19px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 7px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;strong&gt;&lt;u&gt;&lt;span style="font-family: 'Lucida Sans Unicode'; font-size: x-small;"&gt;IIS Configuration&lt;/span&gt;&lt;/u&gt;&lt;/strong&gt;&lt;/div&gt;&lt;div style="line-height: 19px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 7px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span style="font-family: 'Lucida Sans Unicode'; font-size: x-small;"&gt;You cannot over-emphasize how important backing up the metabase is.&amp;nbsp; In my early days in PSS (circa 2000), I was stunned at the amount of IIS 5.0 customers that did not have a backup of the metabase.&amp;nbsp; The task was fairly simple as it was a single file, metabase.bin, but was hidden in the IIS Manager (UI).&amp;nbsp; To do it (same for IIS 6.0 except choose Web Sites node, not server), right-click on the server, choose All Tasks, and select Backup\Restore option.&amp;nbsp; This will create a backup in the %systemroot%\system32\inetsrv\metaback directory.&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height: 19px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 7px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span style="font-family: 'Lucida Sans Unicode'; font-size: x-small;"&gt;In IIS 6.0, we built a nice scriptable command-line utility called iisback.vbs.&amp;nbsp; This can be called throughout any script, such as prior to modifying the configuration, and after if it succeeds.&amp;nbsp; The biggest problem that plagues IT professionals today when backing up IIS is the lack of understanding of “SecureProperties.”&amp;nbsp; There are certain pieces of data that is stored in the metabase that is considered protected, such as passwords, etc.&amp;nbsp; We store the passwords for the anonymous user account (Metabase Property:&amp;nbsp; AnonymousUserPass) and process identities (Metabase Property:&amp;nbsp; WamUserPass).&amp;nbsp; These are not the only properties, but possibly the most sensitive since you can obtain credentials for logging on the server.&amp;nbsp; To protect against this, this data is protected via a hash using the Operating System’s cryptography.&amp;nbsp; This security causes confusion.&amp;nbsp; In short, each installation of Windows has a unique key that can be called for hashing and protection of data.&amp;nbsp; This unique key is lost when machines are “rebuilt” or destroyed by a disaster.&amp;nbsp; A complete, and this does mean complete, backup can be used to restore this functionality using NTBackup or say Veritas’s BackupExec.&amp;nbsp; This is risky though.&amp;nbsp; The overall suggestion for quick &amp;amp; dirty restores is to simply understand how to backup the system and&amp;nbsp;&lt;strong&gt;&lt;em style="font-style: normal; font-weight: normal;"&gt;remove&lt;/em&gt;&lt;/strong&gt;&amp;nbsp;this uniqueness.&amp;nbsp; This feature is natively available in the IIS 6.0 user interface but also in iisback.vbs.&amp;nbsp; In my sample script below, I use this feature of providing a password for the backup and remove any use of the system’s cryptography.&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height: 19px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 7px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;strong&gt;&lt;u&gt;&lt;span style="font-family: 'Lucida Sans Unicode'; font-size: x-small;"&gt;Operating System&lt;/span&gt;&lt;/u&gt;&lt;/strong&gt;&lt;/div&gt;&lt;div style="line-height: 19px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 7px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;em style="font-style: normal; font-weight: normal;"&gt;&lt;span style="font-family: 'Lucida Sans Unicode'; font-size: x-small;"&gt;Certificates&lt;/span&gt;&lt;/em&gt;&lt;/div&gt;&lt;div style="line-height: 19px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 7px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span style="font-family: 'Lucida Sans Unicode'; font-size: x-small;"&gt;There is nothing worse than getting a call\email from a customer who did all of the above (backup content &amp;amp; config) and has one single problem.&amp;nbsp; I am back up and running but none of my Secure Socket Layer (SSL) sites are working.&amp;nbsp; The answer is not a pretty one but one that happens way too often — they failed to remember this in their disaster planning.&amp;nbsp; It is important that certificates are backed up very regularly as they can become corrupt, etc. with very little notice.&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height: 19px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 7px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span style="font-family: 'Lucida Sans Unicode'; font-size: x-small;"&gt;Using the Certificates Snap-in (&lt;/span&gt;&lt;a href="http://support.microsoft.com/kb/q232136/" style="color: #1083cc; font-weight: normal; text-decoration: none;"&gt;&lt;span style="font-family: 'Lucida Sans Unicode'; font-size: x-small;"&gt;http://support.microsoft.com/kb/q232136/&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family: 'Lucida Sans Unicode'; font-size: x-small;"&gt;), you can back up the certificates one by one.&amp;nbsp; However, we shipped a cool tool as part of the&amp;nbsp;&lt;/span&gt;&lt;a href="http://support.microsoft.com/kb/840671" style="color: #1083cc; font-weight: normal; text-decoration: none;" target="_blank"&gt;&lt;span style="font-family: 'Lucida Sans Unicode'; font-size: x-small;"&gt;IIS 6.0 Resource Kit Tools&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family: 'Lucida Sans Unicode'; font-size: x-small;"&gt;&amp;nbsp;called IIsCertDeploy.vbs.&amp;nbsp; This is a very useful and powerful tool that allows you manage, backup, and restore your certificates.&amp;nbsp; In my script below, I use this tool to export the certificate to a .pfx file that can later be restored in case of failure.&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height: 19px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 7px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;em style="font-style: normal; font-weight: normal;"&gt;&lt;span style="font-family: 'Lucida Sans Unicode'; font-size: x-small;"&gt;COM objects&lt;/span&gt;&lt;/em&gt;&lt;/div&gt;&lt;div style="line-height: 19px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 7px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span style="font-family: 'Lucida Sans Unicode'; font-size: x-small;"&gt;With the evolution of the old-time WinDNA architecture, a key aspect of web development came from the creation of a set of components that housed the business logic.&amp;nbsp; The content covered in part I of this piece would only reference these objects that are essentially a component dll that implements logic and communication to the backend databases.&amp;nbsp; There is no less of a sinking feeling of getting everything restored and firing through your application and getting the horrific error:&lt;/span&gt;&lt;/div&gt;&lt;blockquote dir="ltr" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 45px; padding-right: 0px; padding-top: 0px;"&gt;&lt;div style="line-height: 19px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 7px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span style="color: navy; font-family: Arial; font-size: x-small;"&gt;ERROR_OBJECT_NOT_FOUND&lt;/span&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;div style="line-height: 19px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 7px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span style="font-family: 'Lucida Sans Unicode'; font-size: x-small;"&gt;This means nothing more than you are missing the component.&amp;nbsp; In this case, you have to rebuild the component services application to ensure the settings are the same, etc.&amp;nbsp; Do you have this documented?&amp;nbsp; If not, there is a means of creating a COM+ MSI that you can later use to restore these components — very cool!&lt;/span&gt;&lt;/div&gt;&lt;blockquote dir="ltr" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 45px; padding-right: 0px; padding-top: 0px;"&gt;&lt;div style="line-height: 19px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 7px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span style="color: black; font-family: 'Lucida Sans Unicode'; font-size: xx-small;"&gt;REM******************************************&lt;br /&gt;REM&lt;br /&gt;REM&amp;nbsp; My IIS Backup File&lt;br /&gt;REM&lt;br /&gt;REM******************************************&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height: 19px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 7px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span style="color: black; font-family: 'Lucida Sans Unicode'; font-size: xx-small;"&gt;REM&lt;br /&gt;REM Get SSL Certificates&lt;br /&gt;REM ------------------------------------------------------&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height: 19px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 7px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span style="color: black; font-family: 'Lucida Sans Unicode'; font-size: xx-small;"&gt;iiscertdeploy.vbs -e d:\webbackups\certs\site1.pfx -i w3svc/1 -p site1pwd -q On&lt;br /&gt;iiscertdeploy.vbs -e d:\webbackups\certs\Site2.pfx -i w3svc/1856130344 -p site1856130344pwd -q On&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height: 19px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 7px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span style="color: black; font-family: 'Lucida Sans Unicode'; font-size: xx-small;"&gt;REM&lt;br /&gt;REM Backup IIS Metadata&lt;br /&gt;REM -------------------------------------------------------&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height: 19px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 7px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span style="color: black; font-family: 'Lucida Sans Unicode'; font-size: xx-small;"&gt;iisback /backup /b MyMetaBackup /e BackupPass /overwrite&lt;br /&gt;xcopy %windir%\system32\inetsrv\metaback\MyMeta*.* d:\webbackups\metadata /Y&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height: 19px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 7px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span style="color: black; font-family: 'Lucida Sans Unicode'; font-size: xx-small;"&gt;REM&lt;br /&gt;REM Copy COM MSI File(s)&lt;br /&gt;REM&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height: 19px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 7px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span style="color: black; font-family: 'Lucida Sans Unicode'; font-size: xx-small;"&gt;xcopy d:\foo.msi d:\webbackups\COM+&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height: 19px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 7px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span style="color: black; font-family: 'Lucida Sans Unicode'; font-size: xx-small;"&gt;REM&lt;br /&gt;REM Copy all Content, Certs, Metadata, and Content to UNC Share&lt;br /&gt;REM --------------------------------------------------------&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height: 19px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 7px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span style="color: black; font-family: 'Lucida Sans Unicode'; font-size: xx-small;"&gt;net use o:&amp;nbsp;&lt;/span&gt;&lt;span style="color: black;"&gt;&lt;a href="http://draft.blogger.com/post-edit.g?blogID=8251212359688996660&amp;amp;postID=2315943713429861835" style="color: #1083cc; font-weight: normal; text-decoration: none;"&gt;&lt;span style="font-family: 'Lucida Sans Unicode'; font-size: xx-small;"&gt;\\server\mybackups&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;span style="color: black; font-family: 'Lucida Sans Unicode'; font-size: xx-small;"&gt;&amp;nbsp;xcopy /o /x /e /h /y /c d:\WEBBACKUPS\metadata\*.* o:\Metadata\&lt;br /&gt;&amp;nbsp;xcopy /o /x /e /h /y /c d:\inetpub\wwwroot\*.* o:\content\&lt;br /&gt;&amp;nbsp;xcopy /o /x /e /h /y /c d:\WEBBACKUPS\COM+\*.* o:\COM+\&lt;br /&gt;&amp;nbsp;xcopy /o /x /e /h /y /c d:\WEBBACKUPS\certs\*.* o:\certs\&lt;br /&gt;net use o: /delete /Y&lt;/span&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;div dir="ltr" style="line-height: 19px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 7px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div dir="ltr" style="line-height: 19px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 7px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span style="font-family: 'Lucida Sans Unicode'; font-size: x-small;"&gt;&lt;b&gt;Summary&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div dir="ltr" style="line-height: 19px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 7px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span style="font-family: 'Lucida Sans Unicode'; font-size: x-small;"&gt;Recently, I wrote up a quick article that was published in Technet Magazine called&amp;nbsp;&lt;a href="http://www.microsoft.com/technet/technetmag/issues/2006/08/SaveYourWeb/default.aspx" style="color: #1083cc; font-weight: normal; text-decoration: none;"&gt;Plan Ahead to save your Web&lt;/a&gt;.&amp;nbsp; It is similar in nature but in the end game simply says - be prepared, be very prepared.&amp;nbsp; Happy Backups...&lt;/span&gt;&lt;/div&gt;&lt;div dir="ltr" style="line-height: 19px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 7px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span style="font-family: 'Lucida Sans Unicode'; font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://iisadmins.blogspot.com/feeds/2315943713429861835/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://iisadmins.blogspot.com/2010/03/what-needs-to-be-backed-up-in-iis-60.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8251212359688996660/posts/default/2315943713429861835'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8251212359688996660/posts/default/2315943713429861835'/><link rel='alternate' type='text/html' href='http://iisadmins.blogspot.com/2010/03/what-needs-to-be-backed-up-in-iis-60.html' title='What needs to be backed up in  IIS 6.0 ?'/><author><name>Jawahar Adityan</name><uri>https://plus.google.com/111255894595346601465</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-2YAc3s1Mnh0/AAAAAAAAAAI/AAAAAAAAHW0/5JUOixENRos/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8251212359688996660.post-223203878213015218</id><published>2010-03-24T20:57:00.001+05:30</published><updated>2010-03-24T20:58:17.939+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='backup'/><category scheme='http://www.blogger.com/atom/ns#' term='metabase'/><title type='text'>How to backup and restore IIS 6.0 Metabase ?</title><content type='html'>&lt;span class="Apple-style-span" style="border-collapse: collapse; color: #5b5b5b; font-family: Tahoma, Arial, Helvetica; font-size: 14px;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;blockquote style="border-bottom-color: rgb(204, 204, 204); border-bottom-style: dotted; border-bottom-width: 1px; border-left-color: rgb(204, 204, 204); border-left-style: dotted; border-left-width: 1px; border-right-color: rgb(204, 204, 204); border-right-style: dotted; border-right-width: 1px; border-top-color: rgb(204, 204, 204); border-top-style: dotted; border-top-width: 1px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 4px; padding-left: 4px; padding-right: 4px; padding-top: 4px;"&gt;&lt;div style="line-height: 21px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 7px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;1) Open IIS Manager&lt;br /&gt;2) Right &amp;nbsp;Click on Local Computer -&amp;gt; All Tasks -&amp;gt; Backup/Restore Configuration&lt;br /&gt;&lt;a href="http://www.itsolutionskb.com/wp-content/uploads/2008/11/save_configuration_file.png" rel="lightbox[451]" style="color: #1083cc; font-weight: normal; text-decoration: none;"&gt;&lt;img alt="" class="alignnone size-medium wp-image-460" height="211" src="http://www.itsolutionskb.com/wp-content/uploads/2008/11/save_configuration_file-300x211.png" style="border-bottom-style: none; border-bottom-width: 0px; border-color: initial; border-color: initial; border-left-style: none; border-left-width: 0px; border-right-style: none; border-right-width: 0px; border-style: initial; border-top-style: none; border-top-width: 0px; border-width: initial;" title="Save Configuration File" width="300" /&gt;&lt;/a&gt;&lt;br /&gt;3) Under Configuration backup name type a name for your backup&lt;br /&gt;4) Select Encrypt backup using password and type your password twice&lt;br /&gt;&lt;a href="http://www.itsolutionskb.com/wp-content/uploads/2008/11/configuration_backup.png" rel="lightbox[451]" style="color: #1083cc; font-weight: normal; text-decoration: none;"&gt;&lt;img alt="" class="alignnone size-medium wp-image-461" height="211" src="http://www.itsolutionskb.com/wp-content/uploads/2008/11/configuration_backup-300x211.png" style="border-bottom-style: none; border-bottom-width: 0px; border-color: initial; border-color: initial; border-left-style: none; border-left-width: 0px; border-right-style: none; border-right-width: 0px; border-style: initial; border-top-style: none; border-top-width: 0px; border-width: initial;" title="Configuration Backup" width="300" /&gt;&lt;/a&gt;&lt;br /&gt;5) Start -&amp;gt; Run -&amp;gt; %systemroot%\system32\inetsrv\MetaBack&lt;br /&gt;6) Copy to the new server the two ackup files created under the name you give with extensions .SC0 and MD0&lt;br /&gt;7) Copy all your web folders to the new server&lt;/div&gt;&lt;/blockquote&gt;&lt;div style="line-height: 21px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 7px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;strong&gt;Restoring IIS 6.0 Metabase on new server please use following steps&lt;/strong&gt;&lt;/div&gt;&lt;blockquote style="border-bottom-color: rgb(204, 204, 204); border-bottom-style: dotted; border-bottom-width: 1px; border-left-color: rgb(204, 204, 204); border-left-style: dotted; border-left-width: 1px; border-right-color: rgb(204, 204, 204); border-right-style: dotted; border-right-width: 1px; border-top-color: rgb(204, 204, 204); border-top-style: dotted; border-top-width: 1px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 4px; padding-left: 4px; padding-right: 4px; padding-top: 4px;"&gt;&lt;div style="line-height: 21px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 7px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;1) Restore all your web folders back to the new server&lt;br /&gt;2) Open IIS Manager&lt;br /&gt;3) Second Mouse Click on Local Computer -&amp;gt; All Tasks -&amp;gt; Backup/Restore Configuration&lt;br /&gt;&lt;a href="http://www.itsolutionskb.com/wp-content/uploads/2008/11/save_configuration_file.png" rel="lightbox[451]" style="color: #1083cc; font-weight: normal; text-decoration: none;"&gt;&lt;img alt="" class="alignnone size-medium wp-image-460" height="211" src="http://www.itsolutionskb.com/wp-content/uploads/2008/11/save_configuration_file-300x211.png" style="border-bottom-style: none; border-bottom-width: 0px; border-color: initial; border-color: initial; border-left-style: none; border-left-width: 0px; border-right-style: none; border-right-width: 0px; border-style: initial; border-top-style: none; border-top-width: 0px; border-width: initial;" title="Save Configuration File" width="300" /&gt;&lt;/a&gt;&lt;br /&gt;4) Select the file you want to restore and enter the password when prompt&lt;br /&gt;&lt;a href="http://www.itsolutionskb.com/wp-content/uploads/2008/11/restore_backup_iis.png" rel="lightbox[451]" style="color: #1083cc; font-weight: normal; text-decoration: none;"&gt;&lt;img alt="" class="alignnone size-medium wp-image-462" height="207" src="http://www.itsolutionskb.com/wp-content/uploads/2008/11/restore_backup_iis-300x207.png" style="border-bottom-style: none; border-bottom-width: 0px; border-color: initial; border-color: initial; border-left-style: none; border-left-width: 0px; border-right-style: none; border-right-width: 0px; border-style: initial; border-top-style: none; border-top-width: 0px; border-width: initial;" title="Restore Backup" width="300" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;div style="line-height: 21px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 7px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;After restoration is complete be sure that you have installed latest Framework 3.5 SP1 and in case you have the sites connected to an external sql database you double check your configuration changes.&lt;/div&gt;&lt;div style="line-height: 21px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 7px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&amp;nbsp;update me if you required further assistance on this.&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://iisadmins.blogspot.com/feeds/223203878213015218/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://iisadmins.blogspot.com/2010/03/how-to-backup-and-restore-iis-60.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8251212359688996660/posts/default/223203878213015218'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8251212359688996660/posts/default/223203878213015218'/><link rel='alternate' type='text/html' href='http://iisadmins.blogspot.com/2010/03/how-to-backup-and-restore-iis-60.html' title='How to backup and restore IIS 6.0 Metabase ?'/><author><name>Jawahar Adityan</name><uri>https://plus.google.com/111255894595346601465</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-2YAc3s1Mnh0/AAAAAAAAAAI/AAAAAAAAHW0/5JUOixENRos/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8251212359688996660.post-6847110121720824139</id><published>2010-03-22T20:21:00.001+05:30</published><updated>2010-03-22T20:23:11.453+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Status Code'/><category scheme='http://www.blogger.com/atom/ns#' term='Error Codes'/><title type='text'>Status Error Codes and Reasons</title><content type='html'>&lt;strong&gt;Status-Code = Reasons&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;"100" ; Section 10.1.1: Continue&lt;br /&gt;&lt;br /&gt;"101" ; Section 10.1.2: Switching Protocols&lt;br /&gt;&lt;br /&gt;"200" ; Section 10.2.1: OK&lt;br /&gt;&lt;br /&gt;"201" ; Section 10.2.2: Created&lt;br /&gt;&lt;br /&gt;"202" ; Section 10.2.3: Accepted&lt;br /&gt;&lt;br /&gt;"203" ; Section 10.2.4: Non-Authoritative Information&lt;br /&gt;&lt;br /&gt;"204" ; Section 10.2.5: No Content&lt;br /&gt;&lt;br /&gt;"205" ; Section 10.2.6: Reset Content&lt;br /&gt;&lt;br /&gt;"206" ; Section 10.2.7: Partial Content&lt;br /&gt;&lt;br /&gt;"300" ; Section 10.3.1: Multiple Choices&lt;br /&gt;&lt;br /&gt;"301" ; Section 10.3.2: Moved Permanently&lt;br /&gt;&lt;br /&gt;"302" ; Section 10.3.3: Found&lt;br /&gt;&lt;br /&gt;"303" ; Section 10.3.4: See Other&lt;br /&gt;&lt;br /&gt;"304" ; Section 10.3.5: Not Modified&lt;br /&gt;&lt;br /&gt;"305" ; Section 10.3.6: Use Proxy&lt;br /&gt;&lt;br /&gt;"307" ; Section 10.3.8: Temporary Redirect&lt;br /&gt;&lt;br /&gt;"400" ; Section 10.4.1: Bad Request&lt;br /&gt;&lt;br /&gt;"401" ; Section 10.4.2: Unauthorized&lt;br /&gt;&lt;br /&gt;"402" ; Section 10.4.3: Payment Required&lt;br /&gt;&lt;br /&gt;"403" ; Section 10.4.4: Forbidden&lt;br /&gt;&lt;br /&gt;"404" ; Section 10.4.5: Not Found&lt;br /&gt;&lt;br /&gt;"405" ; Section 10.4.6: Method Not Allowed&lt;br /&gt;&lt;br /&gt;"406" ; Section 10.4.7: Not Acceptable&lt;br /&gt;&lt;br /&gt;"407" ; Section 10.4.8: Proxy Authentication Required&lt;br /&gt;&lt;br /&gt;"408" ; Section 10.4.9: Request Time-out&lt;br /&gt;&lt;br /&gt;"409" ; Section 10.4.10: Conflict&lt;br /&gt;&lt;br /&gt;"410" ; Section 10.4.11: Gone&lt;br /&gt;&lt;br /&gt;"411" ; Section 10.4.12: Length Required&lt;br /&gt;&lt;br /&gt;"412" ; Section 10.4.13: Precondition Failed&lt;br /&gt;&lt;br /&gt;"413" ; Section 10.4.14: Request Entity Too Large&lt;br /&gt;&lt;br /&gt;"414" ; Section 10.4.15: Request-URI Too Large&lt;br /&gt;&lt;br /&gt;"415" ; Section 10.4.16: Unsupported Media Type&lt;br /&gt;&lt;br /&gt;"416" ; Section 10.4.17: Requested range not satisfiable&lt;br /&gt;&lt;br /&gt;"417" ; Section 10.4.18: Expectation Failed&lt;br /&gt;&lt;br /&gt;"500" ; Section 10.5.1: Internal Server Error&lt;br /&gt;&lt;br /&gt;"501" ; Section 10.5.2: Not Implemented&lt;br /&gt;&lt;br /&gt;"502" ; Section 10.5.3: Bad Gateway&lt;br /&gt;&lt;br /&gt;"503" ; Section 10.5.4: Service Unavailable&lt;br /&gt;&lt;br /&gt;"504" ; Section 10.5.5: Gateway Time-out&lt;br /&gt;&lt;br /&gt;"505" ; Section 10.5.6: HTTP Version not supported</content><link rel='replies' type='application/atom+xml' href='http://iisadmins.blogspot.com/feeds/6847110121720824139/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://iisadmins.blogspot.com/2010/03/status-error-codes-and-reasons.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8251212359688996660/posts/default/6847110121720824139'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8251212359688996660/posts/default/6847110121720824139'/><link rel='alternate' type='text/html' href='http://iisadmins.blogspot.com/2010/03/status-error-codes-and-reasons.html' title='Status Error Codes and Reasons'/><author><name>Jawahar Adityan</name><uri>https://plus.google.com/111255894595346601465</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-2YAc3s1Mnh0/AAAAAAAAAAI/AAAAAAAAHW0/5JUOixENRos/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8251212359688996660.post-2119644215414166506</id><published>2010-03-22T20:11:00.005+05:30</published><updated>2010-03-22T20:37:04.071+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Hp'/><category scheme='http://www.blogger.com/atom/ns#' term='Interview'/><category scheme='http://www.blogger.com/atom/ns#' term='Mphasis'/><title type='text'>Interview with HP Mphasis for IIS Admin Position</title><content type='html'>&lt;strong&gt;Questions Asked for IIS Admin Position for HP Mphasis :&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;1) Tell About Yourself and Career&lt;br /&gt;&lt;br /&gt;2) What versions of IIS have you worked on ?&lt;br /&gt;&lt;br /&gt;3) What is the difference between IIS 5.0 and IIS 6.0 ?&lt;br /&gt;&lt;br /&gt;4) How will you check the memory usage of 200 servers ? &lt;br /&gt;&lt;br /&gt;5) How will you tune IIS to improve performance ?&lt;br /&gt;&lt;br /&gt;6) What is the difference between .ASP &amp;amp; .ASPX file Extension ?&lt;br /&gt;&lt;br /&gt;7) How will you setup&amp;nbsp; SSL ? The whole process of getting a https website .&lt;br /&gt;&lt;br /&gt;8) What is host header ?&lt;br /&gt;&lt;br /&gt;9) Can multiple websites be hosted on a single IP ?&lt;br /&gt;&lt;br /&gt;10) How will you assign SSL for 10 websites hosted in a single IP ?&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.sslshopper.com/article-how-to-configure-ssl-host-headers-in-iis-6.html"&gt;Ans &lt;/a&gt;&lt;br /&gt;&lt;br /&gt;11) What will you do if you see "Page cannot be displayed" ? How will you trouble shoot ?&lt;br /&gt;&lt;br /&gt;&lt;a href="http://blogs.msdn.com/sudeepg/archive/2007/09/11/iis-not-serving-pages-page-cannot-be-displayed.aspx"&gt;Ans&lt;/a&gt;&amp;nbsp;&lt;a href="http://support.microsoft.com/kb/248033"&gt;Ans2&lt;/a&gt;&lt;br /&gt;12 )What is webgarden ?&lt;br /&gt;&lt;br /&gt;13 ) What is the difference between Application Pool and Application Domain ?&lt;br /&gt;&lt;br /&gt;14) What is "302" Error page&amp;nbsp; ?&lt;br /&gt;&lt;br /&gt;Ans : Moved temporily&lt;br /&gt;15) What is incident management and change management ? (ITIL Process )&lt;br /&gt;&lt;br /&gt;16) How will you move site from one server to another server ?&lt;br /&gt;&lt;br /&gt;17) For Eg., You have 'test','prod' and 'dev' servers, how will you move the contents from 'test' to 'prod ' server ? (using FTP ?)&lt;br /&gt;&lt;br /&gt;18) Maximum of how much RAM can be assigned to IIS ? (If a server has 3 GB RAM)</content><link rel='replies' type='application/atom+xml' href='http://iisadmins.blogspot.com/feeds/2119644215414166506/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://iisadmins.blogspot.com/2010/03/interview-with-hp-mphasis-for-iis-admin.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8251212359688996660/posts/default/2119644215414166506'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8251212359688996660/posts/default/2119644215414166506'/><link rel='alternate' type='text/html' href='http://iisadmins.blogspot.com/2010/03/interview-with-hp-mphasis-for-iis-admin.html' title='Interview with HP Mphasis for IIS Admin Position'/><author><name>Jawahar Adityan</name><uri>https://plus.google.com/111255894595346601465</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-2YAc3s1Mnh0/AAAAAAAAAAI/AAAAAAAAHW0/5JUOixENRos/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8251212359688996660.post-761519451219590766</id><published>2010-03-22T19:51:00.003+05:30</published><updated>2010-03-22T20:00:02.517+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='application pool'/><category scheme='http://www.blogger.com/atom/ns#' term='Application Domain'/><title type='text'>What is the difference between Application vs. AppDomain ?</title><content type='html'>&lt;strong&gt;Application vs. AppDomain&lt;/strong&gt;&lt;br /&gt;=======================&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;A question was asked on a forum that I frequent which I thought was worth writting a blog about.&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Q: What is the difference between an application and an Appdomain? I understand from my research so far that an Appdomain is a container within which ASPX runs and that Apppool is a process that starts the w3wp.exe worker process within which ASP applications run.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;A: That's a good question. Here are some key differences:&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;· An application is an IIS term, but it's one that ASP.NET utilizes. Essentially it creates a sandbox, or a set of boundaries to separate different sites, or parts of sites, from the others.&lt;br /&gt;&lt;br /&gt;· An AppDomain is a .NET term. (In IIS7, AppDomains play a larger role within IIS, but for the most part it's an ASP.NET term)&lt;br /&gt;&lt;br /&gt;· An AppDomain contains InProc session state (the default session state mode). So if an AppDomain is killed/recycled, all of your session state information will be lost. (if you are using the default InProc session state)&lt;br /&gt;&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;· Applications can have multiple AppDomains in them although often times there is a one-to-one relationship between them.&lt;br /&gt;&lt;br /&gt;· In IIS6 and greater, there is the option of creating groups, or "pools" of applications that can be bundled together or separated; however the server administer decides. These are called Application Pools. Each app pool runs under its own w3wp.exe worker process. &lt;br /&gt;&lt;br /&gt;· In IIS, it's easy to see an application. A new website is a separate application and any subfolder can be marked as an application. When they are, the icon beside the folder turnes into a picture of some gears. By right-clicking on the folder, you have the option of marking a folder as an application or removing it as an application, if it already is one. Also, in IIS6, in the Application Pools section, you can see all of the applications and which app pool they live under.&lt;br /&gt;&lt;br /&gt;· ASP.NET, on the other hand, doesn't give much visibility into AppDomains, at least not from any visual tools. This is done behind the scenes. Programmatically you can create them, tear them down or see a list of all running AppDomains.&lt;br /&gt;&lt;br /&gt;· You can recycle an application from IIS. In IIS5, you can't do it directly unless you recycle the entire web server, but in IIS6 and greater, you can recycle the application pool that the application lives under. It will gracefully die off and a new application will start up to replace it. Or, to word it another way, another w3wp.exe worker process will be started and then the old one will die off after it completes any currently running page requests.&lt;br /&gt;&lt;br /&gt;· You can recycle an AppDomain in ASP.NET through the 'touch trick'. There are a few ways to do it, but the most straight forward is to edit your web.config file in notepad and add a space to an insignificant place. Then save the file. This will cause the AppDomain to recycle. This *does not* touch the IIS application though.&lt;br /&gt;&lt;br /&gt;· Recycling an AppDomain will come pretty close to starting ASP.NET fresh again for that particular ASP.NET application, so although it doesn't recycle the apppool, it can give ASP.NET a fresh start in many situations.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;What ASP.NET Programmers Should Know About Application Domains In this article, we will discuss application domains in .NET, and how they impact your ASP.NET execution and deployments. &lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;When we launch the Notepad program in Windows, the program executes inside of a container known as a process. We can launch multiple instances of Notepad, and each instance will run in a dedicated process. Using the Task Manager application, we can see a list of all processes currently executing in the system. &lt;br /&gt;&lt;br /&gt;A process contains the executable code and data of a program inside memory it has reserved from the operating system. There will be at least one thread executing instructions inside of the process, and in most cases there are multiple threads. If the program opens any files or other resources, those resources will belong to the process.&lt;br /&gt;&lt;br /&gt;&amp;nbsp;A process is also boundary. Erroneous code inside of a process cannot corrupt areas outside of the current process. It is easy to communicate inside of a process, but special techniques are required to communicate from one process to another. Each process also runs under a specific security context which can dictate what the process can do on the machine and network.&lt;br /&gt;&lt;br /&gt;&amp;nbsp;A process is the smallest unit of isolation available on the Windows operating system. This could pose a problem for an ISP who wants to host hundreds of ASP.NET applications on a single server. The ISP will want to isolate each ASP.NET application to prevent one application from interfering with another company’s application on the same server, but the relative cost of launching and executing a process for hundreds of applications may be prohibitive. &lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Introducing the Application Domain&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;.NET introduces the concept of an application domain, or AppDomain. Like a process, the AppDomain is both a container and a 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 of a secure boundary. &lt;br /&gt;&lt;br /&gt;&lt;em&gt;Note, however, that the application domain is not a secure boundary when the application runs with full trust. Applications running with full trust can execute native code and circumvent all security checks by the .NET runtime. ASP.NET applications run with full trust by default.&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;An AppDomain belongs to only a single process, but single process can hold multiple AppDomains. An AppDomain is relatively cheap to create (compared to a process), and has relatively less overhead to maintain than a process. For these reasons, an AppDomain is a great solution for the ISP who is hosting hundreds of applications. Each application can exist inside an isolated AppDomain, and many of these AppDomains can exist inside of a single process – a cost savings. &lt;br /&gt;&lt;br /&gt;&lt;strong&gt;AppDomains And You&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;You’ve created two ASP.NET applications on the same server, and have not done any special configuration. What is happening? &lt;br /&gt;&lt;br /&gt;A single ASP.NET worker process will host both of the ASP.NET applications. On Windows XP and Windows 2000 this process is named aspnet_wp.exe, and the process runs under the security context of the local ASPNET account. On Windows 2003 the worker process has the name w3wp.exe and runs under the &lt;br /&gt;&lt;br /&gt;NETWORK SERVICE account by default.&lt;br /&gt;&lt;br /&gt;&amp;nbsp;An object lives in one AppDomain. Each ASP.NET application will have it’s own set of global variables: Cache, Application, and Session objects are not shared. Even though the code for both of the applications resides inside the same process, the unit of isolation is the .NET AppDomain. If there are classes with shared or static members, and those classes exist in both applications, each AppDomain will have it’s own copy of the static fields – the data is not shared. The code and data for each application is safely isolated and inside of a boundary provided by the AppDomain &lt;br /&gt;&lt;br /&gt;In order to communicate or pass objects between AppDomains, you’ll need to look at techniques in .NET for communication across boundaries, such as .NET remoting or web services. &lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Note again&lt;/strong&gt;: the one caveat to the idea of an AppDomain as a boundary is that ASP.NET applications will run with full trust by default. Fully trusted code can execute native code, and native code can essentially have access to anything inside the process. You’ll need to run applications with partial trust to restrict access to unmanged code and verify all managed code to secure AppDomains.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&amp;nbsp;Shadow Copies and Restarts&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Once an assembly is loaded into an AppDomain, there is no way to remove the assembly from the AppDomain. It is possible, however, to remove an AppDomain from a process.&lt;br /&gt;&lt;br /&gt;&amp;nbsp;If you copy an updated dll into an application’s bin subdirectory, the ASP.NET runtime recognizes there is new code to execute. Since ASP.NET cannot swap the dll into the existing AppDomain , it starts a new AppDomain. The old application domain is “drain stopped”, that is, existing requests are allowed to finish executing, and once they are all finished the AppDomain can unload. The new AppDomain starts with the new code and begins taking all new requests.&lt;br /&gt;&lt;br /&gt;&amp;nbsp;Typically, when a dll loads into a process, the process locks the dll and you cannot overwrite the file on disk. However, AppDomains have a feature known as Shadow Copy that allows assemblies to remain unlocked and replaceable on disk.&lt;br /&gt;&lt;br /&gt;&amp;nbsp;The runtime initializes ASP.NET with Shadow Copy enabled for the bin directory. The AppDomain will copy any dll it needs from the bin directory to a temporary location before locking and loading the dll into memory. Shadow Copy allows us to overwrite any dll in the bin directory during an update without taking the web application offline. &lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Master Of Your Domain&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Application domains replace the OS process as the unit of isolation for .NET code. An understanding of application domains will give you an idea of the work taking place behind the scenes of an ASP.NET application. Using the CurrentDomain property of the AppDomain class you can inspect properties about the AppDomain your code is executing in, including the Shadow Copy settings we discussed in this article.</content><link rel='replies' type='application/atom+xml' href='http://iisadmins.blogspot.com/feeds/761519451219590766/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://iisadmins.blogspot.com/2010/03/what-is-difference-between-application.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8251212359688996660/posts/default/761519451219590766'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8251212359688996660/posts/default/761519451219590766'/><link rel='alternate' type='text/html' href='http://iisadmins.blogspot.com/2010/03/what-is-difference-between-application.html' title='What is the difference between Application vs. AppDomain ?'/><author><name>Jawahar Adityan</name><uri>https://plus.google.com/111255894595346601465</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-2YAc3s1Mnh0/AAAAAAAAAAI/AAAAAAAAHW0/5JUOixENRos/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8251212359688996660.post-250974356390898660</id><published>2010-03-19T00:50:00.001+05:30</published><updated>2010-03-20T23:11:29.824+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='ISAPI Filter'/><title type='text'>What is ISAPI Filter ?</title><content type='html'>&lt;span class="Apple-style-span" style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px;"&gt;&lt;div class="title" style="color: black; font-family: Arial, Helvetica, sans-serif; font-size: 21px; font-style: normal; font-variant: normal; font-weight: bold; line-height: normal; margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;ISAPI Filter Overview&lt;/div&gt;&lt;div id="mainSection"&gt;&lt;div id="mainBody"&gt;&lt;div style="margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;/div&gt;&lt;div class="introduction"&gt;&lt;div style="margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;ISAPI filters are DLL files that can be used to modify and enhance the functionality provided by IIS. ISAPI filters always run on an IIS server, filtering every request until they find one they need to process. The ability to examine and modify both incoming and outgoing streams of data makes ISAPI filters powerful and flexible.&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;div class="introduction"&gt;&lt;div style="margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;Filters are registered at either the site level or the global level (that is, global filters apply to all sites on the IIS server), and are initialized when the worker process is started. A filter listens to all requests to the site on which it is installed.&lt;/div&gt;&lt;div style="margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;Both ISAPI filters and ISAPI extensions can only be developed using C/C++. Visual Studio comes with wizards that make ISAPI development fast and easy.&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MTPS_CollapsibleRegion" style="margin-bottom: 5px; margin-left: 0px; margin-right: 0px; margin-top: 5px;"&gt;&lt;div class="CollapseRegionLink" style="color: black; cursor: pointer; font-size: 13px; font-weight: bold; text-decoration: none;"&gt;Possible Uses for ISAPI Filters..&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MTPS_CollapsibleSection" style="clear: both; display: block; padding-left: 10px;"&gt;&lt;a href="http://draft.blogger.com/post-edit.g?blogID=8251212359688996660&amp;amp;postID=250974356390898660" id="sectionToggle0" style="color: #0033cc; text-decoration: none;"&gt;&lt;/a&gt;&lt;br /&gt;&lt;div style="margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;/div&gt;&lt;div style="margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;ISAPI filters can be registered with IIS to modify the behavior of a server. For example, filters can perform the following tasks:&lt;/div&gt;&lt;ul style="line-height: 15px; list-style-position: outside; list-style-type: disc; margin-bottom: 15px;"&gt;&lt;li style="list-style-image: url(http://i3.msdn.microsoft.com/Platform/MasterPages/Library/b.gif); margin-bottom: 3px; margin-left: 0px;"&gt;&lt;br /&gt;&lt;div style="margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;Change request data (URLs or headers) sent by the client&lt;/div&gt;&lt;/li&gt;&lt;li style="list-style-image: url(http://i3.msdn.microsoft.com/Platform/MasterPages/Library/b.gif); margin-bottom: 3px; margin-left: 0px;"&gt;&lt;br /&gt;&lt;div style="margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;Control which physical file gets mapped to the URL&lt;/div&gt;&lt;/li&gt;&lt;li style="list-style-image: url(http://i3.msdn.microsoft.com/Platform/MasterPages/Library/b.gif); margin-bottom: 3px; margin-left: 0px;"&gt;&lt;br /&gt;&lt;div style="margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;Control the user name and password used with anonymous or basic authentication&lt;/div&gt;&lt;/li&gt;&lt;li style="list-style-image: url(http://i3.msdn.microsoft.com/Platform/MasterPages/Library/b.gif); margin-bottom: 3px; margin-left: 0px;"&gt;&lt;br /&gt;&lt;div style="margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;Modify or analyze a request after authentication is complete&lt;/div&gt;&lt;/li&gt;&lt;li style="list-style-image: url(http://i3.msdn.microsoft.com/Platform/MasterPages/Library/b.gif); margin-bottom: 3px; margin-left: 0px;"&gt;&lt;br /&gt;&lt;div style="margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;Modify a response going back to the client&lt;/div&gt;&lt;/li&gt;&lt;li style="list-style-image: url(http://i3.msdn.microsoft.com/Platform/MasterPages/Library/b.gif); margin-bottom: 3px; margin-left: 0px;"&gt;&lt;br /&gt;&lt;div style="margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;Run custom processing on "access denied" responses&lt;/div&gt;&lt;/li&gt;&lt;li style="list-style-image: url(http://i3.msdn.microsoft.com/Platform/MasterPages/Library/b.gif); margin-bottom: 3px; margin-left: 0px;"&gt;&lt;br /&gt;&lt;div style="margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;Run processing when a request is complete&lt;/div&gt;&lt;/li&gt;&lt;li style="list-style-image: url(http://i3.msdn.microsoft.com/Platform/MasterPages/Library/b.gif); margin-bottom: 3px; margin-left: 0px;"&gt;&lt;br /&gt;&lt;div style="margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;Run processing when a connection with the client is closed&lt;/div&gt;&lt;/li&gt;&lt;li style="list-style-image: url(http://i3.msdn.microsoft.com/Platform/MasterPages/Library/b.gif); margin-bottom: 3px; margin-left: 0px;"&gt;&lt;br /&gt;&lt;div style="margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;Perform special logging or traffic analysis.&lt;/div&gt;&lt;/li&gt;&lt;li style="list-style-image: url(http://i3.msdn.microsoft.com/Platform/MasterPages/Library/b.gif); margin-bottom: 3px; margin-left: 0px;"&gt;&lt;br /&gt;&lt;div style="margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;Perform custom authentication.&lt;/div&gt;&lt;/li&gt;&lt;li style="list-style-image: url(http://i3.msdn.microsoft.com/Platform/MasterPages/Library/b.gif); margin-bottom: 3px; margin-left: 0px;"&gt;&lt;br /&gt;&lt;div style="margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;Handle encryption and compression.&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="alert" style="clear: both; padding-bottom: 0.82em; width: 1096px;"&gt;&lt;table style="border-bottom-color: rgb(221, 221, 221); border-bottom-style: solid; border-bottom-width: 1px; border-collapse: collapse; border-color: initial; border-color: initial; border-left-color: rgb(221, 221, 221); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(221, 221, 221); border-right-style: solid; border-right-width: 1px; border-style: initial; border-style: initial; border-top-color: rgb(221, 221, 221); border-top-style: solid; border-top-width: 1px; font-size: 11px; margin-bottom: 5px; margin-left: 5px; margin-right: 10px; margin-top: 5px; width: 1062px;"&gt;&lt;tbody&gt;&lt;tr style="vertical-align: top;"&gt;&lt;th style="background-attachment: initial; background-clip: initial; background-color: #efeff7; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: rgb(200, 205, 222); border-bottom-style: solid; border-bottom-width: 1px; border-left-color: rgb(204, 204, 204); border-left-style: solid; border-left-width: 0px; border-right-color: rgb(204, 204, 204); border-right-style: solid; border-right-width: 0px; border-top-color: rgb(204, 204, 204); border-top-style: solid; border-top-width: 0px; color: #000066; font-family: Verdana; padding-bottom: 5px; padding-left: 5px; padding-right: 5px; padding-top: 5px; text-align: left; vertical-align: bottom;"&gt;&lt;img alt="Note" src="http://i.msdn.microsoft.com/ms524610.alert_note(en-us,VS.90).gif" /&gt;&lt;strong&gt;Note:&lt;/strong&gt;&lt;/th&gt;&lt;/tr&gt;&lt;tr style="vertical-align: top;"&gt;&lt;td style="background-attachment: initial; background-clip: initial; background-color: #f7f7ff; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: rgb(204, 204, 204); border-bottom-style: solid; border-bottom-width: 1px; border-left-color: rgb(204, 204, 204); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(213, 213, 211); border-right-style: solid; border-right-width: 1px; border-top-color: rgb(204, 204, 204); border-top-style: solid; border-top-width: 1px; font-family: Verdana; margin-bottom: 1px; margin-left: 1px; margin-right: 1px; margin-top: 1px; overflow-x: auto; overflow-y: auto; padding-bottom: 5px; padding-left: 5px; padding-right: 5px; padding-top: 5px; text-align: left; vertical-align: top;"&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 5px; padding-left: 5px; padding-right: 5px; padding-top: 5px;"&gt;ISAPI filter DLLs cannot be requested explicitly, like ISAPI extensions can.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MTPS_CollapsibleRegion" style="margin-bottom: 5px; margin-left: 0px; margin-right: 0px; margin-top: 5px;"&gt;&lt;div class="CollapseRegionLink" style="color: black; cursor: pointer; font-size: 13px; font-weight: bold; text-decoration: none;"&gt;&lt;img class="LibC_o" src="http://i.msdn.microsoft.com/Global/Images/clear.gif" style="background-attachment: initial; background-clip: initial; background-color: initial; background-image: url(http://i3.msdn.microsoft.com/global/Images/LibC.gif); background-origin: initial; background-position: 0px 0px; background-repeat: initial initial; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; height: 16px; vertical-align: middle; width: 16px;" /&gt;&amp;nbsp;&amp;nbsp;ISAPI Filter Processing Sequence&lt;/div&gt;&lt;div class="MTPS_CollapsibleSection" style="clear: both; display: block; padding-left: 10px;"&gt;&lt;a href="http://draft.blogger.com/post-edit.g?blogID=8251212359688996660&amp;amp;postID=250974356390898660" id="sectionToggle1" style="color: #0033cc; text-decoration: none;"&gt;&lt;/a&gt;&lt;br /&gt;&lt;div style="margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;/div&gt;&lt;div style="margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;Every ISAPI filter is contained in a separate DLL that must export two entry-point functions,&amp;nbsp;&lt;a href="http://msdn.microsoft.com/en-us/library/ms525465.aspx" id="ctl00_MTCS_main_ctl14_ctl00_ctl00" onclick="javascript:Track('ctl00_MTCS_main_ctl14_ctl00_contenthere|ctl00_MTCS_main_ctl14_ctl00_ctl00',this);" style="color: #0033cc; text-decoration: none;"&gt;GetFilterVersion&lt;/a&gt;and&amp;nbsp;&lt;a href="http://msdn.microsoft.com/en-us/library/ms525878.aspx" id="ctl00_MTCS_main_ctl14_ctl00_ctl01" onclick="javascript:Track('ctl00_MTCS_main_ctl14_ctl00_contenthere|ctl00_MTCS_main_ctl14_ctl00_ctl01',this);" style="color: #0033cc; text-decoration: none;"&gt;HttpFilterProc&lt;/a&gt;, and optionally export the&amp;nbsp;&lt;a href="http://msdn.microsoft.com/en-us/library/ms525148.aspx" id="ctl00_MTCS_main_ctl14_ctl00_ctl02" onclick="javascript:Track('ctl00_MTCS_main_ctl14_ctl00_contenthere|ctl00_MTCS_main_ctl14_ctl00_ctl02',this);" style="color: #0033cc; text-decoration: none;"&gt;TerminateFilter&lt;/a&gt;&amp;nbsp;function. The metabase property,&amp;nbsp;&lt;a href="http://msdn.microsoft.com/en-us/library/ms524730.aspx" id="ctl00_MTCS_main_ctl14_ctl00_ctl03" onclick="javascript:Track('ctl00_MTCS_main_ctl14_ctl00_contenthere|ctl00_MTCS_main_ctl14_ctl00_ctl03',this);" style="color: #0033cc; text-decoration: none;"&gt;FilterLoadOrder&lt;/a&gt;, contains a list of all filters that IIS loads when the Web service is started.&lt;/div&gt;&lt;div style="margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;/div&gt;&lt;h3 class="procedureSubHeading" style="font-size: 12px; font-weight: bold;"&gt;The following steps outline the interaction between ISAPI filters and IIS:&lt;/h3&gt;&lt;div class="subSection"&gt;&lt;ol style="line-height: 15px; list-style-type: decimal; margin-bottom: 15px;"&gt;&lt;li style="margin-bottom: 3px; margin-left: 0px;"&gt;&lt;br /&gt;&lt;div style="margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;When IIS initially loads an ISAPI filter, it also creates and partially populates an&amp;nbsp;&lt;a href="http://msdn.microsoft.com/en-us/library/ms525822.aspx" id="ctl00_MTCS_main_ctl14_ctl00_ctl04" onclick="javascript:Track('ctl00_MTCS_main_ctl14_ctl00_contenthere|ctl00_MTCS_main_ctl14_ctl00_ctl04',this);" style="color: #0033cc; text-decoration: none;"&gt;HTTP_FILTER_VERSION&lt;/a&gt;&amp;nbsp;structure. It then calls the filter's&amp;nbsp;&lt;a href="http://msdn.microsoft.com/en-us/library/ms525465.aspx" id="ctl00_MTCS_main_ctl14_ctl00_ctl05" onclick="javascript:Track('ctl00_MTCS_main_ctl14_ctl00_contenthere|ctl00_MTCS_main_ctl14_ctl00_ctl05',this);" style="color: #0033cc; text-decoration: none;"&gt;GetFilterVersion&lt;/a&gt;&amp;nbsp;function, passing a pointer to the new structure as a parameter.&lt;/div&gt;&lt;/li&gt;&lt;li style="margin-bottom: 3px; margin-left: 0px;"&gt;&lt;br /&gt;&lt;div style="margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;The ISAPI filter populates the&amp;nbsp;&lt;strong&gt;HTTP_FILTER_VERSION&lt;/strong&gt;&amp;nbsp;structure with version information and descriptive information. More importantly, the filter also uses&amp;nbsp;&lt;strong&gt;HTTP_FILTER_VERSION&lt;/strong&gt;&amp;nbsp;to specify which event notifications it should receive, and to declare the general priority level for the filter. In addition, the filter also indicates whether it is interested in events from secure ports only, unsecure ports only, or both.&lt;/div&gt;&lt;/li&gt;&lt;li style="margin-bottom: 3px; margin-left: 0px;"&gt;&lt;br /&gt;&lt;div style="margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;Each HTTP transaction between IIS and a client browser triggers several distinct events. Every time an event occurs for which an ISAPI filter is registered, IIS calls the filter's&lt;strong&gt;HttpFilterProc&lt;/strong&gt;&amp;nbsp;entry-point function.&lt;/div&gt;&lt;div style="margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;If more than one ISAPI filter is registered for a given event, IIS notifies the filters that the event occurred. The filters, which are marked as high, medium, or low priority, are notified according to priority in descending order. If more than one ISAPI filter is declared the same general priority level, IIS uses the order in which the filters appear in the&amp;nbsp;&lt;a href="http://msdn.microsoft.com/en-us/library/ms524730.aspx" id="ctl00_MTCS_main_ctl14_ctl00_ctl06" onclick="javascript:Track('ctl00_MTCS_main_ctl14_ctl00_contenthere|ctl00_MTCS_main_ctl14_ctl00_ctl06',this);" style="color: #0033cc; text-decoration: none;"&gt;FilterLoadOrder&lt;/a&gt;property to resolve the tie.&lt;/div&gt;&lt;/li&gt;&lt;li style="margin-bottom: 3px; margin-left: 0px;"&gt;&lt;br /&gt;&lt;div style="margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;The ISAPI filter uses the notification type information, passed by IIS as a parameter to&amp;nbsp;&lt;strong&gt;HttpFilterProc&lt;/strong&gt;, to determine which particular data structure is pointed to by the other&lt;strong&gt;HttpFilterProc&lt;/strong&gt;&amp;nbsp;parameter,&amp;nbsp;&lt;span class="parameter" style="font-family: 'Segoe UI', '‘Lucida Grande’', Verdana, Arial, Helvetica, sans-serif; font-size: 11px; font-style: italic; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;pvNotification&lt;/span&gt;. The ISAPI filter then uses the data contained in that data structure, as well as in the context structure&amp;nbsp;&lt;a href="http://msdn.microsoft.com/en-us/library/ms524517.aspx" id="ctl00_MTCS_main_ctl14_ctl00_ctl07" onclick="javascript:Track('ctl00_MTCS_main_ctl14_ctl00_contenthere|ctl00_MTCS_main_ctl14_ctl00_ctl07',this);" style="color: #0033cc; text-decoration: none;"&gt;HTTP_FILTER_CONTEXT&lt;/a&gt;, to perform any custom processing.&lt;/div&gt;&lt;/li&gt;&lt;li style="margin-bottom: 3px; margin-left: 0px;"&gt;&lt;br /&gt;&lt;div style="margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;Once processing is complete, the filter returns one of the SF_STATUS status codes to IIS, and IIS continues processing the HTTP request or response until another event occurs for which ISAPI filters are registered.&lt;/div&gt;&lt;/li&gt;&lt;li style="margin-bottom: 3px; margin-left: 0px;"&gt;&lt;br /&gt;&lt;div style="margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;When the Web service is stopped or unloaded, IIS calls&amp;nbsp;&lt;strong&gt;TerminateFilter&lt;/strong&gt;&amp;nbsp;in all ISAPI filters as part of its shutdown sequence, for any filters that implemented and exported the function.&lt;strong&gt;TerminateFilter&lt;/strong&gt;&amp;nbsp;is typically used to perform cleanup and de-allocation of allocated resources.&lt;/div&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;&lt;div style="margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;strong&gt;GetFilterVersion&lt;/strong&gt;&amp;nbsp;is called exactly once, when the ISAPI filter is initially loaded. Any per-connection initializations the developer wants to perform must be managed internally within the context of the&amp;nbsp;&lt;strong&gt;HttpFilterProc&lt;/strong&gt;&amp;nbsp;function call.&lt;/div&gt;&lt;div class="alert" style="clear: both; padding-bottom: 0.82em; width: 1096px;"&gt;&lt;table style="border-bottom-color: rgb(221, 221, 221); border-bottom-style: solid; border-bottom-width: 1px; border-collapse: collapse; border-color: initial; border-color: initial; border-left-color: rgb(221, 221, 221); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(221, 221, 221); border-right-style: solid; border-right-width: 1px; border-style: initial; border-style: initial; border-top-color: rgb(221, 221, 221); border-top-style: solid; border-top-width: 1px; font-size: 11px; margin-bottom: 5px; margin-left: 5px; margin-right: 10px; margin-top: 5px; width: 1062px;"&gt;&lt;tbody&gt;&lt;tr style="vertical-align: top;"&gt;&lt;th style="background-attachment: initial; background-clip: initial; background-color: #efeff7; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: rgb(200, 205, 222); border-bottom-style: solid; border-bottom-width: 1px; border-left-color: rgb(204, 204, 204); border-left-style: solid; border-left-width: 0px; border-right-color: rgb(204, 204, 204); border-right-style: solid; border-right-width: 0px; border-top-color: rgb(204, 204, 204); border-top-style: solid; border-top-width: 0px; color: #000066; font-family: Verdana; padding-bottom: 5px; padding-left: 5px; padding-right: 5px; padding-top: 5px; text-align: left; vertical-align: bottom;"&gt;&lt;img alt="Note" src="http://i.msdn.microsoft.com/ms524610.alert_note(en-us,VS.90).gif" /&gt;&lt;strong&gt;Note:&lt;/strong&gt;&lt;/th&gt;&lt;/tr&gt;&lt;tr style="vertical-align: top;"&gt;&lt;td style="background-attachment: initial; background-clip: initial; background-color: #f7f7ff; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: rgb(204, 204, 204); border-bottom-style: solid; border-bottom-width: 1px; border-left-color: rgb(204, 204, 204); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(213, 213, 211); border-right-style: solid; border-right-width: 1px; border-top-color: rgb(204, 204, 204); border-top-style: solid; border-top-width: 1px; font-family: Verdana; margin-bottom: 1px; margin-left: 1px; margin-right: 1px; margin-top: 1px; overflow-x: auto; overflow-y: auto; padding-bottom: 5px; padding-left: 5px; padding-right: 5px; padding-top: 5px; text-align: left; vertical-align: top;"&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 5px; padding-left: 5px; padding-right: 5px; padding-top: 5px;"&gt;The priority setting for ISAPI filters is per filter, not per notification. For example, a low priority rating cannot be assigned for one type of notification and a high priority rating for another type.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://iisadmins.blogspot.com/feeds/250974356390898660/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://iisadmins.blogspot.com/2010/03/what-is-isapi-filter.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8251212359688996660/posts/default/250974356390898660'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8251212359688996660/posts/default/250974356390898660'/><link rel='alternate' type='text/html' href='http://iisadmins.blogspot.com/2010/03/what-is-isapi-filter.html' title='What is ISAPI Filter ?'/><author><name>Jawahar Adityan</name><uri>https://plus.google.com/111255894595346601465</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-2YAc3s1Mnh0/AAAAAAAAAAI/AAAAAAAAHW0/5JUOixENRos/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8251212359688996660.post-4650294785915096591</id><published>2010-03-17T21:03:00.003+05:30</published><updated>2010-03-20T23:12:09.414+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='dedicated ip'/><category scheme='http://www.blogger.com/atom/ns#' term='SSL certificate'/><title type='text'>Installing a SSL certificate in a Dedicated IP</title><content type='html'>&lt;span class="Apple-style-span" style="color: #2f2f2f; line-height: 19px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;1)&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #2f2f2f; line-height: 19px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;Get A Dedicated IP&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: #2f2f2f; line-height: 19px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;2) Purchasing an SSL certificate&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: #2f2f2f; line-height: 19px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif; line-height: 24px;"&gt;Some hosting company &amp;nbsp;can not provide you with a signed SSL certificate. You will need to obtain one from a valid SSL certificate authority. There are a number of certificate authorities to choose from.&lt;/span&gt;&lt;br /&gt;&lt;div style="line-height: 1.5em; margin-bottom: 0.5em; margin-left: 0px; margin-right: 0px; margin-top: 0.4em;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;Here are some other well known certificate authorities.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;ul style="line-height: 1.7em; list-style-image: url(http://wiki.site5.com/skins/monobook/bullet.gif); list-style-type: square; margin-bottom: 0px; margin-left: 1.5em; margin-right: 0px; margin-top: 0.3em; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;li style="margin-bottom: 0.2em;"&gt;&lt;a class="external text" href="http://www.thawte.com/" rel="nofollow" style="background-attachment: initial; background-clip: initial; background-color: initial; background-image: url(http://wiki.site5.com/skins/monobook/external.png); background-origin: initial; background-position: 100% 50%; background-repeat: no-repeat no-repeat; color: #3366bb; padding-right: 13px;" title="http://www.thawte.com"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;Thawte&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;&lt;li style="margin-bottom: 0.2em;"&gt;&lt;a class="external text" href="http://www.geotrust.com/" rel="nofollow" style="background-attachment: initial; background-clip: initial; background-color: initial; background-image: url(http://wiki.site5.com/skins/monobook/external.png); background-origin: initial; background-position: 100% 50%; background-repeat: no-repeat no-repeat; color: #3366bb; padding-right: 13px;" title="http://www.geotrust.com/"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;GeoTrust&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;&lt;li style="margin-bottom: 0.2em;"&gt;&lt;a class="external text" href="http://www.verisign.com/" rel="nofollow" style="background-attachment: initial; background-clip: initial; background-color: initial; background-image: url(http://wiki.site5.com/skins/monobook/external.png); background-origin: initial; background-position: 100% 50%; background-repeat: no-repeat no-repeat; color: #3366bb; padding-right: 13px;" title="http://www.verisign.com/"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;VeriSign&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;&lt;li style="margin-bottom: 0.2em;"&gt;&lt;a class="external text" href="http://www.digicert.com/" rel="nofollow" style="background-attachment: initial; background-clip: initial; background-color: initial; background-image: url(http://wiki.site5.com/skins/monobook/external.png); background-origin: initial; background-position: 100% 50%; background-repeat: no-repeat no-repeat; color: #3366bb; padding-right: 13px;" title="http://www.digicert.com/"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;DigiCert&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div style="line-height: 1.5em; margin-bottom: 0.5em; margin-left: 0px; margin-right: 0px; margin-top: 0.4em;"&gt;&lt;span class="Apple-style-span" style="color: black; line-height: normal;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;table bgcolor="#8C8B99" border="0" cellpadding="0" cellspacing="0" height="17"&gt;&lt;tbody&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;div class="smallhead" style="color: black; line-height: 14px;"&gt;&lt;span class="Apple-style-span" style="line-height: normal;"&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;CSA&amp;nbsp;- Certificate providing authority&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="smallhead" style="color: black; line-height: 14px;"&gt;&lt;span class="Apple-style-span" style="line-height: normal;"&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="smallhead" style="color: black; font-weight: bold; line-height: 14px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;Microsoft IIS 5 and 6 - Internet Information Services 5 and 6&lt;/span&gt;&lt;/div&gt;&lt;div class="smallhead" style="color: black; font-weight: bold; line-height: 14px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="bodycopy" style="color: black;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;Follow these instructions to generate a CSR for your Web site. When you have completed this process, you will have a CSR ready to submit to &lt;/span&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;CPA&lt;/span&gt;&lt;/b&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt; &amp;nbsp;in order to be generated into a SSL Security Certificate.&lt;/span&gt;&lt;/div&gt;&lt;div class="bodycopy" style="color: black;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="bodycopy" style="color: black;"&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;Note:&lt;/span&gt;&lt;/b&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&amp;nbsp;If you are&amp;nbsp;&lt;/span&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;renewing&lt;/span&gt;&lt;/b&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&amp;nbsp;your certificate or your site is currently running a web server certificate please refer to renewal section at the bottom of this document.&lt;/span&gt;&lt;/div&gt;&lt;div class="bodycopy" style="color: black;"&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;You must have at least Service Pack 1 installed&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;ol&gt;&lt;li class="bodycopy" style="color: black;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;Select the&amp;nbsp;&lt;/span&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;Internet Information Services&lt;/span&gt;&lt;/b&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&amp;nbsp;console within the Administrative Tools menu.&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="bodycopy" style="color: black;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;Select the computer and web site (host) that you wish to secure.&lt;br /&gt;Right mouse-click to select&amp;nbsp;&lt;/span&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;Properties&lt;/span&gt;&lt;/b&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;.&lt;br /&gt;&lt;br /&gt;&lt;img alt="Select Properties for your desired website from the IIS console" height="457" src="http://www.rapidssl.com/ssl-certificate-images/ms_iis5_2.gif" width="593" /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="bodycopy" style="color: black;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;Select the&amp;nbsp;&lt;/span&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;Directory Security&lt;/span&gt;&lt;/b&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&amp;nbsp;tab.&lt;br /&gt;&lt;br /&gt;&lt;img alt="Select Directory Security Tab" height="458" src="http://www.rapidssl.com/ssl-certificate-images/ms_iis5_1.gif" width="461" /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="bodycopy" style="color: black;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;Select&amp;nbsp;&lt;/span&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;Server Certificate&lt;/span&gt;&lt;/b&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&amp;nbsp;under Secure Communications&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="bodycopy" style="color: black;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;Click&amp;nbsp;&lt;/span&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;Next&lt;/span&gt;&lt;/b&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&amp;nbsp;in the Welcome to the Web Server Certificate Wizard window.&lt;br /&gt;&lt;br /&gt;&lt;img alt="Click Next in the Welcome to the Web Server Certificate Wizard window" height="457" src="http://www.rapidssl.com/ssl-certificate-images/ms_iis5_2.gif" width="593" /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="bodycopy" style="color: black;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;Select&amp;nbsp;&lt;/span&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;Create a new certificate&lt;/span&gt;&lt;/b&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;, Click&amp;nbsp;&lt;/span&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;Next&lt;/span&gt;&lt;/b&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;.&lt;br /&gt;&lt;br /&gt;&lt;img alt="Select Create a new certificate, Click Next" height="458" src="http://www.rapidssl.com/ssl-certificate-images/ms_iis5_3.gif" width="461" /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="bodycopy" style="color: black;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;Select&amp;nbsp;&lt;/span&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;Prepare the request now, but send it later.&lt;/span&gt;&lt;/b&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;img alt="Select Prepare the request now, but send it later" height="363" src="http://www.rapidssl.com/ssl-certificate-images/ms_iis5_4.gif" width="482" /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="bodycopy" style="color: black;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;At the&amp;nbsp;&lt;/span&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;Name and Security Settings&lt;/span&gt;&lt;/b&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&amp;nbsp;screen, give your new certificate a name - this will help you identify this request if you work with multiple domain names on the same webserver. Select bit length. We recommend using 1024-bit length (note: To generate 128 bit encryption you will need to select a 1024 bit length). Click&amp;nbsp;&lt;/span&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;Next.&lt;/span&gt;&lt;/b&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;img alt="At the Name and Security Settings screen, give your new certificate a name. Select bit length. We recommend using 1024-bit length. Click Next" height="363" src="http://www.rapidssl.com/ssl-certificate-images/ms_iis5_5.gif" width="482" /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="bodycopy" style="color: black;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;You will now be asked for details about your company and your website. When creating a CSR you must follow these conventions.&lt;br /&gt;The following characters can not be accepted: &amp;lt; &amp;gt; ~ ! @ # $ % ^ * / \ ( ) ?&amp;amp;.&lt;br /&gt;This includes&amp;nbsp;&lt;/span&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;commas&lt;/span&gt;&lt;/b&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;.&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="bodycopy" style="color: black;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;At the&amp;nbsp;&lt;/span&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;Organization Information&lt;/span&gt;&lt;/b&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;, state your&amp;nbsp;&lt;/span&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;Company Name&lt;/span&gt;&lt;/b&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&amp;nbsp;and&amp;nbsp;&lt;/span&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;Department&lt;/span&gt;&lt;/b&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;.&lt;br /&gt;&lt;br /&gt;&lt;img alt="At the Organization Information, state your Company Name and Department" height="363" src="http://www.rapidssl.com/ssl-certificate-images/ms_iis5_6.gif" width="482" /&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;div&gt;&lt;div align="LEFT" style="text-align: left;"&gt;&lt;/div&gt;&lt;/div&gt;&lt;ol start="11"&gt;&lt;li class="bodycopy" style="color: black;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;At the&amp;nbsp;&lt;/span&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;Your Site's Common Name&lt;/span&gt;&lt;/b&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&amp;nbsp;screen, enter the domain name (e.g. yourdomain.com) or fully qualified domain name (e.g. www.yourdomain.com). Whatever you enter here will be&amp;nbsp;&lt;/span&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;exactly&lt;/span&gt;&lt;/b&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&amp;nbsp;what the certificate will be able to be used on.&lt;br /&gt;&lt;br /&gt;&lt;img alt="At the Your Site's Common Name screen, enter the domain name (e.g. yourdomain.com) or fully qualified domain name (e.g. www.yourdomain.com). Whatever you enter here will be exactly what the certificate will be able to be used on" height="363" src="http://www.rapidssl.com/ssl-certificate-images/ms_iis5_7.gif" width="482" /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="bodycopy" style="color: black;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;At the&amp;nbsp;&lt;/span&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;Geographical Information&lt;/span&gt;&lt;/b&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&amp;nbsp;screen, enter your&amp;nbsp;&lt;/span&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;country&lt;/span&gt;&lt;/b&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;,&amp;nbsp;&lt;/span&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;state&lt;/span&gt;&lt;/b&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&amp;nbsp;and&amp;nbsp;&lt;/span&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;city&lt;/span&gt;&lt;/b&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;.&lt;br /&gt;&lt;br /&gt;&lt;img alt="At the Geographical Information screen, enter your country, state and city" height="363" src="http://www.rapidssl.com/ssl-certificate-images/ms_iis5_8.gif" width="482" /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="bodycopy" style="color: black;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;You have now finished entering information. Your CSR will now be saved to a text file. Give your CSR a filename and select a location where you can easily find your CSR.&lt;br /&gt;&lt;br /&gt;&lt;img height="363" src="http://www.rapidssl.com/ssl-certificate-images/ms_iis5_9.gif" width="482" /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="bodycopy" style="color: black;"&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;Important&lt;/span&gt;&lt;/b&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;: Now review what you have entered. If you notice a mistake, use the&amp;nbsp;&lt;/span&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;Back&lt;/span&gt;&lt;/b&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&amp;nbsp;button to return to the relevant screen to make changes. Pay particular attention to the&amp;nbsp;&lt;/span&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;Issued To&lt;/span&gt;&lt;/b&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&amp;nbsp;field.&lt;br /&gt;&lt;br /&gt;&lt;img alt="Now review what you have entered" height="363" src="http://www.rapidssl.com/ssl-certificate-images/ms_iis5_10.gif" width="482" /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="bodycopy" style="color: black;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;You have now generated your CSR! Click&amp;nbsp;&lt;/span&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;Finish&lt;/span&gt;&lt;/b&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&amp;nbsp;to close the wizard.&lt;br /&gt;&lt;br /&gt;&lt;img alt="You have now generated your CSR! Click Finish to close the wizard" height="363" src="http://www.rapidssl.com/ssl-certificate-images/ms_iis5_11.gif" width="482" /&gt;&lt;br /&gt;&lt;/span&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;IMPORTANT DO NOT REMOVE the pending request from your IIS or your issued certificate will not install. Attempting to create another CSR will automatically remove the pending request and this should be attempted until you have installed your issued certificate.&lt;/span&gt;&lt;/b&gt;&lt;/li&gt;&lt;/ol&gt;&lt;div class="bodycopy" style="color: black;"&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;Install the certificate :&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div class="bodycopy" style="color: black;"&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div class="bodycopy" style="color: black;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif; font-size: 11px; font-weight: normal;"&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;b&gt;&lt;ul style="list-style-image: none; list-style-type: none; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;li style="background-image: url(http://www.instantssl.com/ssl-certificate-images/inner/ssltick.gif); background-position: 0% 2px; background-repeat: no-repeat no-repeat; list-style-image: none; list-style-type: none; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 3px; padding-left: 16px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;Select Administrative Tools&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li style="background-image: url(http://www.instantssl.com/ssl-certificate-images/inner/ssltick.gif); background-position: 0% 2px; background-repeat: no-repeat no-repeat; list-style-image: none; list-style-type: none; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 3px; padding-left: 16px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;Start Internet Services Manager&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="center" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 5px; padding-left: 0px; padding-right: 7px; padding-top: 5px; text-align: center;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;img alt="internet services manager" height="368" src="http://www.instantssl.com/ssl-certificate-images/graphics/ssl-IIS1.gif" style="border-bottom-style: none; border-color: initial; border-color: initial; border-color: initial; border-left-style: none; border-right-style: none; border-top-style: none; border-width: initial; border-width: initial; border-width: initial;" width="532" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;ul style="list-style-image: none; list-style-type: none; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;li style="background-image: url(http://www.instantssl.com/ssl-certificate-images/inner/ssltick.gif); background-position: 0% 2px; background-repeat: no-repeat no-repeat; list-style-image: none; list-style-type: none; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 3px; padding-left: 16px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;Open the properties window for the website. You can do this by right clicking on the Default Website and selecting Properties from the menu.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li style="background-image: url(http://www.instantssl.com/ssl-certificate-images/inner/ssltick.gif); background-position: 0% 2px; background-repeat: no-repeat no-repeat; list-style-image: none; list-style-type: none; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 3px; padding-left: 16px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;Open Directory Security by right clicking on the Directory Security tab&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="center" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 5px; padding-left: 0px; padding-right: 7px; padding-top: 5px; text-align: center;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;img alt="default properties" height="458" src="http://www.instantssl.com/ssl-certificate-images/graphics/ssl-IIS2.gif" style="border-bottom-style: none; border-color: initial; border-color: initial; border-color: initial; border-left-style: none; border-right-style: none; border-top-style: none; border-width: initial; border-width: initial; border-width: initial;" width="461" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;ul style="list-style-image: none; list-style-type: none; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;li style="background-image: url(http://www.instantssl.com/ssl-certificate-images/inner/ssltick.gif); background-position: 0% 2px; background-repeat: no-repeat no-repeat; list-style-image: none; list-style-type: none; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 3px; padding-left: 16px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;Click Server Certificate. The following Wizard will appear:&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="center" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 5px; padding-left: 0px; padding-right: 7px; padding-top: 5px; text-align: center;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;img alt="pending request" height="363" src="http://www.instantssl.com/ssl-certificate-images/graphics/ssl-IISCertInstall1.gif" style="border-bottom-style: none; border-color: initial; border-color: initial; border-color: initial; border-left-style: none; border-right-style: none; border-top-style: none; border-width: initial; border-width: initial; border-width: initial;" width="482" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;ul style="list-style-image: none; list-style-type: none; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;li style="background-image: url(http://www.instantssl.com/ssl-certificate-images/inner/ssltick.gif); background-position: 0% 2px; background-repeat: no-repeat no-repeat; list-style-image: none; list-style-type: none; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 3px; padding-left: 16px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;Choose to Process the Pending Request and Install the Certificate. Click Next.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li style="background-image: url(http://www.instantssl.com/ssl-certificate-images/inner/ssltick.gif); background-position: 0% 2px; background-repeat: no-repeat no-repeat; list-style-image: none; list-style-type: none; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 3px; padding-left: 16px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;Enter the location of your&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;a href="http://www.instantssl.com/" style="background-color: transparent; color: #0260fd; font-weight: normal; text-decoration: underline;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;IIS SSL certificate&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&amp;nbsp;(you may also browse to locate your IIS SSL certificate), and then click Next.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li style="background-image: url(http://www.instantssl.com/ssl-certificate-images/inner/ssltick.gif); background-position: 0% 2px; background-repeat: no-repeat no-repeat; list-style-image: none; list-style-type: none; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 3px; padding-left: 16px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;Read the summary screen to be sure that you are processing the correct certificate, and then click Next.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li style="background-image: url(http://www.instantssl.com/ssl-certificate-images/inner/ssltick.gif); background-position: 0% 2px; background-repeat: no-repeat no-repeat; list-style-image: none; list-style-type: none; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 3px; padding-left: 16px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;You will see a confirmation screen. When you have read this information, click Next.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li style="background-image: url(http://www.instantssl.com/ssl-certificate-images/inner/ssltick.gif); background-position: 0% 2px; background-repeat: no-repeat no-repeat; list-style-image: none; list-style-type: none; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 3px; padding-left: 16px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;You now have an IIS SSL server certificate installed.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 5px; padding-left: 0px; padding-right: 7px; padding-top: 5px;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;Important: You must now restart the computer to complete the install&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 5px; padding-left: 0px; padding-right: 7px; padding-top: 5px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;/b&gt;&lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='http://iisadmins.blogspot.com/feeds/4650294785915096591/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://iisadmins.blogspot.com/2010/03/installing-ssl-certificate-in-dedicated.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8251212359688996660/posts/default/4650294785915096591'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8251212359688996660/posts/default/4650294785915096591'/><link rel='alternate' type='text/html' href='http://iisadmins.blogspot.com/2010/03/installing-ssl-certificate-in-dedicated.html' title='Installing a SSL certificate in a Dedicated IP'/><author><name>Jawahar Adityan</name><uri>https://plus.google.com/111255894595346601465</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-2YAc3s1Mnh0/AAAAAAAAAAI/AAAAAAAAHW0/5JUOixENRos/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8251212359688996660.post-4876535672819101863</id><published>2010-03-17T20:18:00.002+05:30</published><updated>2010-03-20T23:33:19.254+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Wfetch'/><category scheme='http://www.blogger.com/atom/ns#' term='IIS Connection'/><title type='text'>Use "Wfetch" to Troubleshoot IIS connections</title><content type='html'>&lt;b&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;Scenario &lt;/span&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;:&lt;/span&gt;&lt;/b&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&amp;nbsp;If you're having problems getting a &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;particular workstation to connect to your Web site&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;, it might not be the workstation's fault. You can use &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;Wfetch &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;to see if there's a problem on your IIS server. lets see how Wfetch works.&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;&lt;span class="Apple-style-span" style="line-height: 16px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;As reliable as Web browsers and Web servers have become over the last few years, the reality is that there are times when a client’s connection to a Web server simply may not work correctly. If only one client is having a problem connecting to your Web site but other clients aren’t displaying similar problems, you may be inclined to dismiss the problem as being a client problem rather than a server problem.&lt;br /&gt;&lt;br /&gt;What if that client can connect to other Web sites but not to yours? Such a situation points more toward a Web server problem than a client problem. So what do you do when you see contradictory symptoms and there are no clear answers? One possible way of solving the problem is to use the Wfetch utility to troubleshoot possible Web server connection problems.&lt;br /&gt;&lt;/span&gt;&lt;span class="subhead1" style="font-weight: bold;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;What is the Wfetch utility?&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;&lt;span class="Apple-style-span" style="line-height: 16px;"&gt;&lt;span class="subhead1"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;span class="Apple-style-span"&gt;&lt;span class="Apple-style-span"&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;&lt;span class="Apple-style-span" style="line-height: 16px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;span class="Apple-style-span"&gt;&lt;span class="Apple-style-span"&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;&lt;span class="Apple-style-span" style="line-height: 16px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;span class="Apple-style-span"&gt;&lt;span class="Apple-style-span"&gt;&lt;b&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;&lt;span class="Apple-style-span" style="line-height: 16px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;span class="Apple-style-span"&gt;&lt;span class="Apple-style-span"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;Wfetch is a free utility provided by Microsoft to help you troubleshoot HTTP connection problems by allowing you to view data, such as the HTTP header, that isn’t usually displayed through a Web browser. You can download Wfetch from&amp;nbsp;&lt;/span&gt;&lt;a href="http://download.microsoft.com/download/iis50/Utility/5.0/W9XNT4/EN-US/wfetch.exe" style="color: #003399; cursor: pointer; outline-color: initial; outline-style: none; outline-width: initial; text-decoration: none;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;Microsoft’s Download Center&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;.&lt;br /&gt;&lt;br /&gt;Microsoft doesn’t officially support Wfetch. According to the Microsoft Web site, Wfetch is provided on an as-is basis and is completely unsupported. So don’t expect to get any help from Microsoft if you have problems with Wfetch.&lt;br /&gt;&lt;br /&gt;Another thing that you need to know is that there are some serious security risks associated with using Wfetch. If you’re planning on using Wfetch to solve a problem, I recommend installing the Wfetch utility in a nonproduction environment initially. The Wfetch program isn't actually installed on a server; instead, it runs on a workstation. The problem is that Wfetch has a habit of installing things like passwords and certificates into the workstation’s registry. In some situations, Wfetch stores user passwords in clear text in the system’s registry.&lt;br /&gt;&lt;/span&gt;&lt;span class="subhead1" style="font-weight: bold;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;Installing Wfetch&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;To install the Wfetch utility, double-click on the executable file that you downloaded. You'll then be asked which folder the installation program should extract the files into. Once the files have been extracted, three files will be placed into a folder called CodeSign in the location that you’ve specified. Open the CodeSign folder and run the Wfetch.exe file to run the Wfetch utility.&lt;br /&gt;&lt;br /&gt;After double-clicking on the Wfetch.exe icon, you’ll see the Wfetch user interface, shown in&amp;nbsp;&lt;/span&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;Figure A&lt;/span&gt;&lt;/b&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;. Wfetch’s interface isn’t very user-friendly.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;div align="center" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;table style="margin-bottom: 25px; margin-left: 0px; margin-right: 0px; margin-top: 18px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td class="fighead" style="display: block; font-weight: bold; margin-bottom: 2px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;Figure A&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="center" style="padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;img height="336" src="http://articles.techrepublic.com.com/i/tr/cms/contentPics/t01320020926pos01a.gif" style="border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px;" width="543" /&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="caption" style="color: #333333; display: block; line-height: 1.05em; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 4px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;The Wfetch user interface isn’t very intuitive.&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;br /&gt;Along the top row of the Wfetch user interface, you’ll see four buttons. The button on the far left is the New Document button. This is the button you’ll use to preserve the results of your last test. You’ll also use this button if you want to run a second test after your first one but want to have the results of the second test placed in a different log file.&lt;br /&gt;&lt;br /&gt;The next button (with a big X on it) is used to abort the current test. The third button has the Refresh icon on it; it's used to rerun the last request. The last button is the Log Cleanup button. Clicking this button will clear the current log screen. Be careful about clicking this button accidentally, because the utility doesn’t ask you if you’re sure that you want to erase the log; it just does it.&lt;br /&gt;&lt;br /&gt;The next major section of the Wfetch interface is the section in which you specify the Web site that you want to analyze. The Verb field refers to the HTTP verb that you want to test. HTTP verbs are commonly used to perform various actions within an HTTP request. For example, if you associate the HEAD verb with a resource, then HTTP will return only the header information. If you associate the GET verb with the same resource, then HTTP will return the header and usually a message body as well.&lt;br /&gt;&lt;br /&gt;The Host field is where you specify the host that you’re connecting to. Usually, the host is specified in the form of either an IP address or a URL.&lt;br /&gt;&lt;br /&gt;The Port field allows you to pass the HTTP request through a specific port. If you leave the value set to Default, the request will be passed through TCP port 80.&lt;br /&gt;&lt;br /&gt;The Ver field refers to the HTTP version used by the Web server. Your choices are 1.0 and 1.1. If you aren’t sure what version of HTTP is being used, try using version 1.1.&lt;br /&gt;&lt;br /&gt;Finally, the Path field refers to a specific resource on a Web server. For example, if you were trying to troubleshoot a specific Web page or Web resource, you might specify that page or resource from within the Path field. The path is especially useful if you’re addressing an internal Web server by IP address and that server hosts several Web sites.&lt;br /&gt;&lt;br /&gt;You could specify the IP address in the Host field and the Web site name in the Path field. For example, let’s say you want to test SharePoint Portal Server. To access the SharePoint default dashboard through Internet Explorer from your workstation, you’d enter the server name followed by the dashboard’s site name (bart.test.com—test in my example). To run the Wfetch utility against the dashboard site, you’d type&lt;/span&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;bart.test.com&lt;/span&gt;&lt;/i&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&amp;nbsp;into the Host field and type&amp;nbsp;&lt;/span&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;/test&lt;/span&gt;&lt;/i&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&amp;nbsp;into the Path field, as shown in&amp;nbsp;&lt;/span&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;Figure B&lt;/span&gt;&lt;/b&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div align="center" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;table style="margin-bottom: 25px; margin-left: 0px; margin-right: 0px; margin-top: 18px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td class="fighead" style="display: block; font-weight: bold; margin-bottom: 2px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;Figure B&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="center" style="padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;img height="308" src="http://articles.techrepublic.com.com/i/tr/cms/contentPics/t01320020926pos01b.gif" style="border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px;" width="543" /&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="caption" style="color: #333333; display: block; line-height: 1.05em; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 4px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;The Path field is used to specify a Web site on an IIS server or a specific Web page within a Web site.&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;br /&gt;The next part of the Wfetch user interface is the Authentication section. This section allows you to control how the credentials that the Wfetch utility will use to access the host in question. For example, you might have noticed in Figure B that the default choice is Anonymous. If your Web site has anonymous authentication, you’d just leave the default settings.&lt;br /&gt;&lt;br /&gt;Other available authentication types include Basic, NTLM, Kerberos, Digest, and Negotiate. If you choose to use any access method other than Anonymous, you must fill in the domain name, username, and password in the space provided beneath the authentication type. If you look at Figure B, you’ll notice that there’s a Save check box directly across from the Password field. If you select the Save option, your password will be saved in the registry in clear text, regardless of what authentication type you’re using. So make sure you heed my advice and check the registry when uninstalling the Wfetch utility.&lt;br /&gt;&lt;br /&gt;The next area of the user interface is the Connection section. The Connection area allows you to configure how the Wfetch utility should attach to the host that you specified. The default options allow Wfetch to make a straight HTTP connection to the host. However, there is an option to pass the connection through a proxy server. If a proxy server, such as Microsoft's Proxy Server 2.0 or ISA Server, controls your Internet connection, you must select the Proxy check box and enter the port number used by the proxy server. By default, Proxy Server 2.0 uses port 80 while ISA Server uses port 8080.&lt;br /&gt;&lt;br /&gt;Beneath the Connect field, you’ll see the Cipher field and Client Cert field. These fields exist because the Wfetch utility has the option of connection to a Web server using HTTP, HTTPS, PCT 1.0, SSL 2.0, SSL 3.0, or TLS 3.1. If you choose to use one of the secure protocols, you’ll have to select an encryption type from the Cipher drop-down list. Your choices include RC4, RC2, DES, and Triple DES.&lt;br /&gt;&lt;br /&gt;The Client Cert field can be used only in conjunction with PCT 1.0, SSL 3.0, and TTLS 3.1 security. If you choose to use a certificate, you have several different options. The None option avoids using a certificate for the connection. The Certificate From IE option allows you to select one of the certificates that Internet Explorer is already configured to use. Should you choose this option, a dialog box will appear asking you to select the certificate. Once you’ve made your selection, a wizard will explain what to do next.&lt;br /&gt;&lt;br /&gt;The Wfetch utility also gives you the option of using a valid certificate, an expired certificate, or an unrecognized certificate. Remember that you're testing a connection to a malfunctioning Web server, so there may very well be times when it’s appropriate to test the connection by using an expired or unrecognized certificate. The option of using a valid certificate presents the Web server with a Class 1 certificate that’s been signed by VeriSign. Although this certificate is intended to be valid, it’s hard coded into the utility and will therefore eventually expire.&lt;br /&gt;&lt;br /&gt;You can check to make sure that the certificate is still valid by clicking on the arrow icon next to the Client Cert field. As you can see in&amp;nbsp;&lt;/span&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;Figure C&lt;/span&gt;&lt;/b&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;, for example, my particular copy of Wfetch contains a certificate that expired in May of 2001. If your valid certificate has expired, then I recommend using an Internet Explorer-based certificate that is still valid.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div align="center" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;table style="margin-bottom: 25px; margin-left: 0px; margin-right: 0px; margin-top: 18px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td class="fighead" style="display: block; font-weight: bold; margin-bottom: 2px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;Figure C&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="center" style="padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;img height="476" src="http://articles.techrepublic.com.com/i/tr/cms/contentPics/t01320020926pos01c.gif" style="border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px;" width="409" /&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="caption" style="color: #333333; display: block; line-height: 1.05em; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 4px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;It’s possible that the certificate may have expired.&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;br /&gt;The only configuration-based section that remains is the Advanced Request section. This section allows you to do things like add headers, body, headers and body, or raw requests to the basic request. You can enable an advanced option simply by selecting it from the list. After choosing to make an advanced request, Wfetch gives you the chance to either type in the request or to copy code from an existing file. The advanced requests are entered into the text box found directly below the Advanced Request section.&lt;br /&gt;&lt;/span&gt;&lt;span class="subhead1" style="font-weight: bold;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;Running a test&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;Now let’s run through the process of running a test so that you can see what the output looks like. I will show you a couple of problems to watch out for.&lt;br /&gt;&lt;br /&gt;In&amp;nbsp;&lt;/span&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;Figure D&lt;/span&gt;&lt;/b&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;, I am trying to run a Head test on my SharePoint Portal Server. Notice in the Authentication section that I have Anonymous access. SharePoint requires basic or NTLM authentication. So when I click the Go button to run the report, the Log Output section displays an HTTP/1.1 401 Access Denied message at the top of the text segment shown in blue. If a connection is failing due to security problems, this is what it will usually look like.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div align="center" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;table style="margin-bottom: 25px; margin-left: 0px; margin-right: 0px; margin-top: 18px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td class="fighead" style="display: block; font-weight: bold; margin-bottom: 2px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;Figure D&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="center" style="padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;img height="558" src="http://articles.techrepublic.com.com/i/tr/cms/contentPics/t01320020926pos01d.gif" style="border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px;" width="543" /&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="caption" style="color: #333333; display: block; line-height: 1.05em; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 4px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;This is what a security-related failure looks like.&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;br /&gt;The next thing that I want to show you is why the Path field is important. In Figure C, I was accessing the Test Web site on a server named Bart in the test.com domain. Normally, when accessing this Web site, I would type&amp;nbsp;&lt;/span&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;bart.test.com/test&lt;/span&gt;&lt;/i&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&amp;nbsp;into Internet Explorer. However, in this case, I typed&amp;nbsp;&lt;/span&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;bart.test.com/test&lt;/span&gt;&lt;/i&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&amp;nbsp;into the Host field rather than placing the /test parameter into the Path field where it belongs. Notice that the log section tells me that there is no such host. Obviously, the server and the corresponding Web site exist (and they are functional), but Wfetch reports that the host is unknown, as shown in&amp;nbsp;&lt;/span&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;Figure E&lt;/span&gt;&lt;/b&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;, simply because I used an invalid method of addressing it.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div align="center" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;table style="margin-bottom: 25px; margin-left: 0px; margin-right: 0px; margin-top: 18px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td class="fighead" style="display: block; font-weight: bold; margin-bottom: 2px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;Figure E&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="center" style="padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;img height="322" src="http://articles.techrepublic.com.com/i/tr/cms/contentPics/t01320020926pos01e.gif" style="border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px;" width="543" /&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="caption" style="color: #333333; display: block; line-height: 1.05em; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 4px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;You’ll receive a host unknown error if you address the host incorrectly.&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;br /&gt;Now let’s look at a couple of successful tests. In&amp;nbsp;&lt;/span&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;Figure F&lt;/span&gt;&lt;/b&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;, I’m using the HEAD verb to test my Web site. Notice in the figure that I’m using the Proxy option because I’m attaching to an external Web site.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div align="center" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;table style="margin-bottom: 25px; margin-left: 0px; margin-right: 0px; margin-top: 18px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td class="fighead" style="display: block; font-weight: bold; margin-bottom: 2px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;Figure F&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="center" style="padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;img height="576" src="http://articles.techrepublic.com.com/i/tr/cms/contentPics/t01320020926pos01f.gif" style="border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px;" width="543" /&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="caption" style="color: #333333; display: block; line-height: 1.05em; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 4px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;This is what a successful HEAD test looks like.&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;br /&gt;In&amp;nbsp;&lt;/span&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;Figure G&lt;/span&gt;&lt;/b&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;, I’m doing the same test using the GET verb. In Figure F, the Wfetch tool returned information such as the Web server version and the date that the site was last modified. In Figure G, you can see that the same header information is displayed, but the tool also displays the HTML code found on the default Web page.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div align="center" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;table style="margin-bottom: 25px; margin-left: 0px; margin-right: 0px; margin-top: 18px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td class="fighead" style="display: block; font-weight: bold; margin-bottom: 2px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;Figure G&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="center" style="padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;img height="509" src="http://articles.techrepublic.com.com/i/tr/cms/contentPics/t01320020926pos01g.gif" style="border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px;" width="543" /&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="caption" style="color: #333333; display: block; line-height: 1.05em; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 4px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;The GET verb displays the header information and the Web site’s HTML code.&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;br /&gt;One last interesting thing to look at is the same test performed by using the TRACE verb. As you can see in&amp;nbsp;&lt;/span&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;Figure H&lt;/span&gt;&lt;/b&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;, the TRACE verb allows you to watch the test as it passes from the proxy server to the Web and back.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div align="center" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;table style="margin-bottom: 25px; margin-left: 0px; margin-right: 0px; margin-top: 18px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td class="fighead" style="display: block; font-weight: bold; margin-bottom: 2px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;Figure H&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="center" style="padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;img height="627" src="http://articles.techrepublic.com.com/i/tr/cms/contentPics/t01320020926pos01h.gif" style="border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px;" width="543" /&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="caption" style="color: #333333; display: block; line-height: 1.05em; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 4px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;The TRACE test displays the actual connection process.&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;/b&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span class="subhead1" style="font-weight: bold;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;Fetch, Spot! Fetch!&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;The Wfetch utility is a useful tool for troubleshooting HTTP connection problems. The error reports it produces can help you figure out what’s wrong with your server. If you have problems understanding a particular error, you can use Microsoft’s Knowledge Base or Google to help you track down the error by searching for the error.&lt;br /&gt;&lt;br /&gt;After you’ve used Wfetch to troubleshoot a problem, uninstall the utility immediately to prevent any security problems. Even after uninstalling the Wfetch utility, there’s a possibility that the registry keys containing the passwords could still exist. I recommend using the Registry Editor to check for the existence of this part of the registry and getting rid of the risky registry keys manually if necessary. The Wfetch registry keys are stored in HKEY_CURRENT_USER\Software\Wfetch. Keep in mind that if you’ve used Wfetch while logged on as multiple users, then this registry key may exist for each user you’ve logged on as.&lt;/span&gt;&lt;/b&gt;</content><link rel='replies' type='application/atom+xml' href='http://iisadmins.blogspot.com/feeds/4876535672819101863/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://iisadmins.blogspot.com/2010/03/use-wfetch-to-troubleshoot-iis.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8251212359688996660/posts/default/4876535672819101863'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8251212359688996660/posts/default/4876535672819101863'/><link rel='alternate' type='text/html' href='http://iisadmins.blogspot.com/2010/03/use-wfetch-to-troubleshoot-iis.html' title='Use &quot;Wfetch&quot; to Troubleshoot IIS connections'/><author><name>Jawahar Adityan</name><uri>https://plus.google.com/111255894595346601465</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-2YAc3s1Mnh0/AAAAAAAAAAI/AAAAAAAAHW0/5JUOixENRos/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry></feed>