<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:cs="http://blogs.iis.net/" version="2.0"><channel><title>Kanwaljeet Singla&amp;#39;s Blog</title><link>http://blogs.iis.net/ksingla/default.aspx</link><description /><dc:language>en</dc:language><generator>CommunityServer 2007 SP1 (Build: 20510.895)</generator><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/KjIISBlog" type="application/rss+xml" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com" /><item><title>Urlscan to RequestFiltering migration using MSDeploy</title><link>http://blogs.iis.net/ksingla/archive/2009/10/30/urlscan-to-requestfiltering-migration-using-msdeploy.aspx</link><pubDate>Fri, 30 Oct 2009 21:57:00 GMT</pubDate><guid isPermaLink="false">50bcf3b4-f6fe-4638-adff-0c150e922e99:3486460</guid><dc:creator>ksingla</dc:creator><slash:comments>2</slash:comments><wfw:commentRss>http://blogs.iis.net/ksingla/rsscomments.aspx?PostID=3486460</wfw:commentRss><comments>http://blogs.iis.net/ksingla/archive/2009/10/30/urlscan-to-requestfiltering-migration-using-msdeploy.aspx#comments</comments><description>&lt;FONT size=3 face=Calibri&gt;In addition to &lt;/FONT&gt;&lt;A href="http://blogs.iis.net/ksingla/archive/2009/09/24/migraing-fastcgi-configuration-from-iis-5-1-6-0-to-iis-7-0-7-5.aspx" mce_href="http://blogs.iis.net/ksingla/archive/2009/09/24/migraing-fastcgi-configuration-from-iis-5-1-6-0-to-iis-7-0-7-5.aspx"&gt;&lt;FONT size=3 face=Calibri&gt;FastCGI migration provider&lt;/FONT&gt;&lt;/A&gt;&lt;FONT size=3 face=Calibri&gt;, MSDeploy 1.0 RTW shipped with a URLScan to request filtering migration provider to ease migration of UrlScan.ini settings to &lt;I&gt;system.webServer/security/requestFiltering&lt;/I&gt; section. Even though URLScan 3.1 is supported on Win2K8 and you are not required to move to request filtering module, there are few advantages in using request filtering module. One advantage is that all your configuration can stay together in applicationHost.config and web.config and you are not required to maintain a separate configuration file. Another advantage is that you can take advantages of new configuration system features like distributed configuration, shared configuration, locking, ability to use appcmd, UI, configuration editor etc which cannot be used if you use UrlScan and your configuration is in UrlScan.ini. In Win2K8 R2, you get additional advantages like configuration system auditing. Moreover, request filtering is one of the core IIS modules and will continue to get much attention compared to URLScan. If you are running Win2K8 SP2 or Win2K8 R2 in which request filtering module has all the features available in URLScan 3.1, you should definitely evaluate migrating from URLScan to request filtering. If you decide to migrate, migration is as simple as running a MSDeploy sync command.&lt;BR&gt;&lt;BR&gt;&lt;/FONT&gt;&lt;FONT size=3 face=Calibri&gt;URLScan migration is handled by a new provider in msdeploy named UrlScanConfig which accepts “INI” or “APPHOST” as path. When path is “INI”, URLScan configuration from “%windir%\system32\inetsrv\urlscan\urlscan.ini” is read. When path is “APPHOST”, configuration is picked from &lt;I&gt;system.webServer/security/requestFiltering&lt;/I&gt; section. This migration provider works similar to &lt;/FONT&gt;&lt;A href="http://blogs.iis.net/ksingla/archive/2009/09/24/migraing-fastcgi-configuration-from-iis-5-1-6-0-to-iis-7-0-7-5.aspx" mce_href="http://blogs.iis.net/ksingla/archive/2009/09/24/migraing-fastcgi-configuration-from-iis-5-1-6-0-to-iis-7-0-7-5.aspx"&gt;&lt;FONT size=3 face=Calibri&gt;FastCGI migration provider&lt;/FONT&gt;&lt;/A&gt;&lt;FONT size=3 face=Calibri&gt;. UrlScanConfig migration provider reads UrlScan.ini configuration and produces xml which looks like requestFiltering section configuration. MSDeploy engine then takes care of comparing xml and doing add/update/delete operations on destination to make destination configuration same as source. Because msdeploy sync is a single master sync engine, we take care of not removing configuration from requestFiltering section which doesn’t have a counterpart in UrlScan. For example, hiddenSegments configuration in apphost is not deleted (skipped using urlScanSkipIncompatRuleHandler) and also applyToWebDav properties are not touched. Below are few examples showing the usage of UrlScanConfig migration provider.&lt;BR&gt;&lt;BR&gt;&lt;/FONT&gt;&lt;FONT size=3 face=Calibri&gt;Command to dump urlscan.ini settings.&lt;BR&gt;&lt;/FONT&gt;&lt;I&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;msdeploy –verb:dump –source:urlScanConfig=ini –xml&lt;BR&gt;&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/I&gt;&lt;I&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; msdeploy –verb:dump –source:UrlScanConfig=apphost -xml&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/I&gt;&lt;o:p&gt;&lt;FONT size=3 face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt; 
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;&lt;BR&gt;Command to migrate urlscan.ini to requestFiltering section.&lt;BR&gt;&lt;/FONT&gt;&lt;I&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; msdeploy –verb:sync –source:urlScanConfig=ini –dest:urlScanConfig=apphost -whatif&lt;BR&gt;&lt;BR&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/I&gt;&lt;FONT size=3 face=Calibri&gt;UrlScanConfig provider can be used to migrate global urlscan.ini configuration to server level requestFiltering section. Migrating site level UrlScan.ini is not supported. Here is how various URLScan properties map to requestFiltering section.&lt;/FONT&gt;&lt;/P&gt;&lt;o:p&gt;&lt;FONT size=3 face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt; 
&lt;TABLE style="BORDER-COLLAPSE: collapse; mso-yfti-tbllook: 1184; mso-padding-alt: 0in 0in 0in 0in" class=MsoNormalTable border=0 cellSpacing=0 cellPadding=0 class="MsoNormalTable"&gt;
&lt;TBODY&gt;
&lt;TR style="mso-yfti-irow: 0; mso-yfti-firstrow: yes"&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: black 1pt solid; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 239.4pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: black 1pt solid; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0in" vAlign=top width=319&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;UseAllowVerbs&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: #d4d0c8; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 273.2pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: black 1pt solid; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0in" vAlign=top width=364&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;If set to 1 AllowVerbs section is used. Else DenyVerbs section in urlscan.ini is used&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="mso-yfti-irow: 1"&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: black 1pt solid; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 239.4pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #d4d0c8; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0in" vAlign=top width=319&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;UseAllowExtensions&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: #d4d0c8; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 273.2pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #d4d0c8; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0in" vAlign=top width=364&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;If set to 1 AllowExtensions section is used. Else DenyExtensions section in urlscan.ini is used&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="mso-yfti-irow: 2"&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: black 1pt solid; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 239.4pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #d4d0c8; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0in" vAlign=top width=319&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;VerifyNormalization&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: #d4d0c8; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 273.2pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #d4d0c8; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0in" vAlign=top width=364&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;allowDoubleEscaping&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="mso-yfti-irow: 3"&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: black 1pt solid; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 239.4pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #d4d0c8; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0in" vAlign=top width=319&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;AllowHighBitCharacters&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: #d4d0c8; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 273.2pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #d4d0c8; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0in" vAlign=top width=364&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;allowHighBitCharacters&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="mso-yfti-irow: 4; mso-yfti-lastrow: yes"&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: black 1pt solid; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 239.4pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #d4d0c8; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0in" vAlign=top width=319&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;UnescapeQueryString&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: #d4d0c8; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 273.2pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #d4d0c8; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0in" vAlign=top width=364&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;unescapeQueryString&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;B&gt;&lt;o:p&gt;&lt;FONT size=3 face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/B&gt; 
&lt;TABLE style="BORDER-COLLAPSE: collapse; mso-yfti-tbllook: 1184; mso-padding-alt: 0in 0in 0in 0in" class=MsoNormalTable border=0 cellSpacing=0 cellPadding=0 class="MsoNormalTable"&gt;
&lt;TBODY&gt;
&lt;TR style="mso-yfti-irow: 0; mso-yfti-firstrow: yes"&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: black 1pt solid; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 239.4pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: black 1pt solid; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0in" vAlign=top width=319&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;RequestLimits&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: #d4d0c8; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 273.2pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: black 1pt solid; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0in" vAlign=top width=364&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;MaxAllowedContentLength, MaxUrl and MaxQueryString settings are moved to requestLimits.&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="mso-yfti-irow: 1"&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: black 1pt solid; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 239.4pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #d4d0c8; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0in" vAlign=top width=319&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;AllowVerbs, DenyVerbs&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: #d4d0c8; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 273.2pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #d4d0c8; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0in" vAlign=top width=364&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;If UseAllowVerbs is 1, verbs@allowUnlisted is set to false and entries are added with enabled=”true”. If UseAllowVerbs is 0, entries has enabled=”false” and verbs@allowUnlisted is set to true.&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="mso-yfti-irow: 2"&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: black 1pt solid; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 239.4pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #d4d0c8; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0in" vAlign=top width=319&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;AllowExtensions, DenyExtensions&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: #d4d0c8; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 273.2pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #d4d0c8; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0in" vAlign=top width=364&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;When UseAllowExtensions is set 1, extensions are added with enabled=”true” and fileExtensions@allowUnlisted is set to false. When UseAllowExtensions is 0, fileExtensions@allowUnlisted is set to true and entries are added with enabled=”false”.&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="mso-yfti-irow: 3"&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: black 1pt solid; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 239.4pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #d4d0c8; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0in" vAlign=top width=319&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;DenyHeaders&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: #d4d0c8; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 273.2pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #d4d0c8; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0in" vAlign=top width=364&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;Moved to requestLimits/headerLimits after removing colon.&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="mso-yfti-irow: 4"&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: black 1pt solid; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 239.4pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #d4d0c8; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0in" vAlign=top width=319&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;AlwaysAllowedUrls&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: #d4d0c8; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 273.2pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #d4d0c8; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0in" vAlign=top width=364&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;alwaysAllowedUrls collection&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="mso-yfti-irow: 5"&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: black 1pt solid; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 239.4pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #d4d0c8; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0in" vAlign=top width=319&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;DenyUrlSequences&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: #d4d0c8; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 273.2pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #d4d0c8; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0in" vAlign=top width=364&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;denyUrlSequences collection&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="mso-yfti-irow: 6"&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: black 1pt solid; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 239.4pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #d4d0c8; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0in" vAlign=top width=319&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;AlwaysAllowedQueryStrings&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: #d4d0c8; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 273.2pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #d4d0c8; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0in" vAlign=top width=364&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;alwaysAllowedQueryStrings collection&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="mso-yfti-irow: 7; mso-yfti-lastrow: yes"&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: black 1pt solid; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 239.4pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #d4d0c8; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0in" vAlign=top width=319&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;DenyQueryStringSequences&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: #d4d0c8; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 273.2pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #d4d0c8; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0in" vAlign=top width=364&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;denyQueryStringSequences collection&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;SPAN style="COLOR: #1f497d"&gt;&lt;o:p&gt;&lt;FONT size=3 face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt; &lt;FONT size=3 face=Calibri&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;For each rule in RulesList, a filteringRule is created and Rule properties are mapped as following.&lt;/FONT&gt;&lt;/P&gt;&lt;o:p&gt;&lt;FONT size=3 face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt; 
&lt;TABLE style="BORDER-COLLAPSE: collapse; mso-yfti-tbllook: 1184; mso-padding-alt: 0in 0in 0in 0in" class=MsoNormalTable border=0 cellSpacing=0 cellPadding=0 class="MsoNormalTable"&gt;
&lt;TBODY&gt;
&lt;TR style="mso-yfti-irow: 0; mso-yfti-firstrow: yes"&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: black 1pt solid; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 239.4pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: black 1pt solid; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0in" vAlign=top width=319&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;AppliesTo&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: #d4d0c8; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 273.2pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: black 1pt solid; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0in" vAlign=top width=364&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;filteringRule/appliesTo&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="mso-yfti-irow: 1"&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: black 1pt solid; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 239.4pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #d4d0c8; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0in" vAlign=top width=319&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;DenyDataSection&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: #d4d0c8; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 273.2pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #d4d0c8; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0in" vAlign=top width=364&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;filteringRule/denyStrings.&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="mso-yfti-irow: 2"&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: black 1pt solid; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 239.4pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #d4d0c8; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0in" vAlign=top width=319&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;ScanURL&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: #d4d0c8; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 273.2pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #d4d0c8; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0in" vAlign=top width=364&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;filteringRule@scanUrl&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="mso-yfti-irow: 3"&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: black 1pt solid; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 239.4pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #d4d0c8; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0in" vAlign=top width=319&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;ScanAllRaw&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: #d4d0c8; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 273.2pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #d4d0c8; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0in" vAlign=top width=364&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;filteringRule@scanAllRaw&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="mso-yfti-irow: 4"&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: black 1pt solid; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 239.4pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #d4d0c8; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0in" vAlign=top width=319&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;ScanQueryString&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: #d4d0c8; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 273.2pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #d4d0c8; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0in" vAlign=top width=364&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;filteringRule@scanQueryString&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="mso-yfti-irow: 5; mso-yfti-lastrow: yes"&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: black 1pt solid; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 239.4pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #d4d0c8; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0in" vAlign=top width=319&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;ScanHeaders&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: #d4d0c8; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 273.2pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #d4d0c8; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0in" vAlign=top width=364&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;filteringRule/scanHeaders&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;B&gt;&lt;o:p&gt;&lt;FONT size=3 face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/B&gt;&lt;BR&gt;All other properties (NormalizeUrlBeforeScan, AllowDotInPat, RemoveServerHeader, AlternateServerName, AllowLateScanning, UseFastPathReject, RejectResponseUrl, EnableLogging, PerProcessLogging, PerDayLogging, LogLongUrls, LoggingDirectory) are ignored because either they don’t make sense or the feature is always enforced by IIS core. We do block migration when incompatible versions of source and destination are present. Some request filtering features like applyToWebDav and hiddenSegments were not present in webDav. urlscanConfig migration provider doesn’t touch these properties if they are present on target. Not that if version of UrlScan is not compatible with IIS version present, migration will not be performed.&lt;/FONT&gt;&lt;/FONT&gt;&lt;SPAN style="COLOR: #1f497d"&gt;&lt;o:p&gt;&lt;FONT size=3 face=Calibri&gt;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;&lt;BR&gt;Thanks,&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;Kanwal&lt;/FONT&gt;&lt;/P&gt;&lt;img src="http://blogs.iis.net/aggbug.aspx?PostID=3486460" width="1" height="1"&gt;</description><category domain="http://blogs.iis.net/ksingla/archive/tags/MSDeploy/default.aspx">MSDeploy</category><category domain="http://blogs.iis.net/ksingla/archive/tags/UrlScan/default.aspx">UrlScan</category><category domain="http://blogs.iis.net/ksingla/archive/tags/Request+Filtering/default.aspx">Request Filtering</category></item><item><title>Feature additions and bug fixes coming up in WinCache</title><link>http://blogs.iis.net/ksingla/archive/2009/10/05/feature-additions-and-bug-fixes-coming-up-in-wincache.aspx</link><pubDate>Mon, 05 Oct 2009 21:35:00 GMT</pubDate><guid isPermaLink="false">50bcf3b4-f6fe-4638-adff-0c150e922e99:3441865</guid><dc:creator>ksingla</dc:creator><slash:comments>0</slash:comments><wfw:commentRss>http://blogs.iis.net/ksingla/rsscomments.aspx?PostID=3441865</wfw:commentRss><comments>http://blogs.iis.net/ksingla/archive/2009/10/05/feature-additions-and-bug-fixes-coming-up-in-wincache.aspx#comments</comments><description>We are seeing huge momentum behind adoption of WinCache . In the month of September, WinCache v1 Beta was downloaded more than 13,000 times making it one of the most downloaded IIS extensions in the first month following its release. Many happy customers...(&lt;a href="http://blogs.iis.net/ksingla/archive/2009/10/05/feature-additions-and-bug-fixes-coming-up-in-wincache.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.iis.net/aggbug.aspx?PostID=3441865" width="1" height="1"&gt;</description><category domain="http://blogs.iis.net/ksingla/archive/tags/PHP/default.aspx">PHP</category><category domain="http://blogs.iis.net/ksingla/archive/tags/FastCGI/default.aspx">FastCGI</category><category domain="http://blogs.iis.net/ksingla/archive/tags/WinCache/default.aspx">WinCache</category></item><item><title>Migrating FastCGI configuration from IIS 5.1/6.0 to IIS 7.0/7.5</title><link>http://blogs.iis.net/ksingla/archive/2009/09/24/migraing-fastcgi-configuration-from-iis-5-1-6-0-to-iis-7-0-7-5.aspx</link><pubDate>Fri, 25 Sep 2009 01:18:00 GMT</pubDate><guid isPermaLink="false">50bcf3b4-f6fe-4638-adff-0c150e922e99:3424251</guid><dc:creator>ksingla</dc:creator><slash:comments>1</slash:comments><wfw:commentRss>http://blogs.iis.net/ksingla/rsscomments.aspx?PostID=3424251</wfw:commentRss><comments>http://blogs.iis.net/ksingla/archive/2009/09/24/migraing-fastcgi-configuration-from-iis-5-1-6-0-to-iis-7-0-7-5.aspx#comments</comments><description>Problem As you know FastCGI functionality on IIS 5.1 and IIS 6.0 is provided by FastCGI ISAPI extension which is available as an independent download. On IIS 7.0 and beyond, FastCGI functionality is provided by IIS FastCGI module which comes with the...(&lt;a href="http://blogs.iis.net/ksingla/archive/2009/09/24/migraing-fastcgi-configuration-from-iis-5-1-6-0-to-iis-7-0-7-5.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.iis.net/aggbug.aspx?PostID=3424251" width="1" height="1"&gt;</description><category domain="http://blogs.iis.net/ksingla/archive/tags/PHP/default.aspx">PHP</category><category domain="http://blogs.iis.net/ksingla/archive/tags/FastCGI/default.aspx">FastCGI</category><category domain="http://blogs.iis.net/ksingla/archive/tags/MSDeploy/default.aspx">MSDeploy</category></item><item><title>How WinCache make PHP run faster</title><link>http://blogs.iis.net/ksingla/archive/2009/09/19/how-wincache-make-php-run-faster.aspx</link><pubDate>Sun, 20 Sep 2009 02:03:00 GMT</pubDate><guid isPermaLink="false">50bcf3b4-f6fe-4638-adff-0c150e922e99:3415089</guid><dc:creator>ksingla</dc:creator><slash:comments>2</slash:comments><wfw:commentRss>http://blogs.iis.net/ksingla/rsscomments.aspx?PostID=3415089</wfw:commentRss><comments>http://blogs.iis.net/ksingla/archive/2009/09/19/how-wincache-make-php-run-faster.aspx#comments</comments><description>Why WinCache? Use of PHP accelerators is very common to make PHP run faster. Most of the existing PHP accelerators which are in use today are designed keeping *nix architecture in mind and mostly doesn’t work well on Windows. For example, APC which is...(&lt;a href="http://blogs.iis.net/ksingla/archive/2009/09/19/how-wincache-make-php-run-faster.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.iis.net/aggbug.aspx?PostID=3415089" width="1" height="1"&gt;</description><category domain="http://blogs.iis.net/ksingla/archive/tags/PHP/default.aspx">PHP</category><category domain="http://blogs.iis.net/ksingla/archive/tags/WinCache/default.aspx">WinCache</category></item><item><title>Getting both FastCGI module and AppPool CPULimit to work</title><link>http://blogs.iis.net/ksingla/archive/2009/07/02/getting-both-fastcgi-module-and-apppool-cpulimit-to-work.aspx</link><pubDate>Thu, 02 Jul 2009 23:29:00 GMT</pubDate><guid isPermaLink="false">50bcf3b4-f6fe-4638-adff-0c150e922e99:3272385</guid><dc:creator>ksingla</dc:creator><slash:comments>4</slash:comments><wfw:commentRss>http://blogs.iis.net/ksingla/rsscomments.aspx?PostID=3272385</wfw:commentRss><comments>http://blogs.iis.net/ksingla/archive/2009/07/02/getting-both-fastcgi-module-and-apppool-cpulimit-to-work.aspx#comments</comments><description>FastCGI module available in IIS 7.0 did not work when CPULimit for the application pool was enabled. This was because when CPULimit feature was enabled WAS uses job objects to track CPU usage of worker processes. WAS keeps a job object for each application...(&lt;a href="http://blogs.iis.net/ksingla/archive/2009/07/02/getting-both-fastcgi-module-and-apppool-cpulimit-to-work.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.iis.net/aggbug.aspx?PostID=3272385" width="1" height="1"&gt;</description><category domain="http://blogs.iis.net/ksingla/archive/tags/IIS+News+Item/default.aspx">IIS News Item</category><category domain="http://blogs.iis.net/ksingla/archive/tags/PHP/default.aspx">PHP</category><category domain="http://blogs.iis.net/ksingla/archive/tags/FastCGI/default.aspx">FastCGI</category></item><item><title>FastCGI ISAPI 1.5 Beta for WinXP and Win2K3</title><link>http://blogs.iis.net/ksingla/archive/2009/04/20/fastcgi-isapi-1-5-beta-for-winxp-and-win2k3.aspx</link><pubDate>Tue, 21 Apr 2009 05:39:00 GMT</pubDate><guid isPermaLink="false">50bcf3b4-f6fe-4638-adff-0c150e922e99:3106438</guid><dc:creator>ksingla</dc:creator><slash:comments>6</slash:comments><wfw:commentRss>http://blogs.iis.net/ksingla/rsscomments.aspx?PostID=3106438</wfw:commentRss><comments>http://blogs.iis.net/ksingla/archive/2009/04/20/fastcgi-isapi-1-5-beta-for-winxp-and-win2k3.aspx#comments</comments><description>IIS team today released FastCGI ISAPI 1.5 Beta for WinXP and Win2K3 which has some very nice additions to existing FastCGI ISAPI functionality. Following additions have been made to FastCGI ISAPI 1.0 . 1. Few features we added to FastCGI module in IIS...(&lt;a href="http://blogs.iis.net/ksingla/archive/2009/04/20/fastcgi-isapi-1-5-beta-for-winxp-and-win2k3.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.iis.net/aggbug.aspx?PostID=3106438" width="1" height="1"&gt;</description><category domain="http://blogs.iis.net/ksingla/archive/tags/PHP/default.aspx">PHP</category><category domain="http://blogs.iis.net/ksingla/archive/tags/FastCGI/default.aspx">FastCGI</category></item><item><title>Using advanced logging to log custom module data</title><link>http://blogs.iis.net/ksingla/archive/2009/04/18/using-advanced-logging-to-log-custom-module-data.aspx</link><pubDate>Sun, 19 Apr 2009 03:34:00 GMT</pubDate><guid isPermaLink="false">50bcf3b4-f6fe-4638-adff-0c150e922e99:3101527</guid><dc:creator>ksingla</dc:creator><slash:comments>0</slash:comments><wfw:commentRss>http://blogs.iis.net/ksingla/rsscomments.aspx?PostID=3101527</wfw:commentRss><comments>http://blogs.iis.net/ksingla/archive/2009/04/18/using-advanced-logging-to-log-custom-module-data.aspx#comments</comments><description>Advanced logging module which media team released few days ago uses IIS tracing subsystem and allow module developers to log custom data in W3C compatible format using familiar IHttpTraceContext interface. If you are a module developer and want to generate...(&lt;a href="http://blogs.iis.net/ksingla/archive/2009/04/18/using-advanced-logging-to-log-custom-module-data.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.iis.net/aggbug.aspx?PostID=3101527" width="1" height="1"&gt;</description><category domain="http://blogs.iis.net/ksingla/archive/tags/Advanced+Logging/default.aspx">Advanced Logging</category></item><item><title>Implementing IAppHostPathMapper in C</title><link>http://blogs.iis.net/ksingla/archive/2009/04/18/implementing-iapphostpathmapper-in-c.aspx</link><pubDate>Sat, 18 Apr 2009 22:38:00 GMT</pubDate><guid isPermaLink="false">50bcf3b4-f6fe-4638-adff-0c150e922e99:3101151</guid><dc:creator>ksingla</dc:creator><slash:comments>8</slash:comments><wfw:commentRss>http://blogs.iis.net/ksingla/rsscomments.aspx?PostID=3101151</wfw:commentRss><comments>http://blogs.iis.net/ksingla/archive/2009/04/18/implementing-iapphostpathmapper-in-c.aspx#comments</comments><description>Few days ago I was required to implement IAppHostPathMapper interface in native C to map configuration path MACHINE/WEBROOT/APPHOST to DefaultAppPool.config and struggled with finding good documentation. With help of some incomplete, hard to find documentation...(&lt;a href="http://blogs.iis.net/ksingla/archive/2009/04/18/implementing-iapphostpathmapper-in-c.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.iis.net/aggbug.aspx?PostID=3101151" width="1" height="1"&gt;</description><category domain="http://blogs.iis.net/ksingla/archive/tags/Ahadmin/default.aspx">Ahadmin</category><category domain="http://blogs.iis.net/ksingla/archive/tags/Microsoft.ApplicationHost.AdminManager/default.aspx">Microsoft.ApplicationHost.AdminManager</category></item><item><title>New features in configuration system and appcmd in IIS 7.5</title><link>http://blogs.iis.net/ksingla/archive/2009/03/25/new-features-in-configuration-system-and-appcmd-in-iis-7-5.aspx</link><pubDate>Wed, 25 Mar 2009 17:48:00 GMT</pubDate><guid isPermaLink="false">50bcf3b4-f6fe-4638-adff-0c150e922e99:3037551</guid><dc:creator>ksingla</dc:creator><slash:comments>5</slash:comments><wfw:commentRss>http://blogs.iis.net/ksingla/rsscomments.aspx?PostID=3037551</wfw:commentRss><comments>http://blogs.iis.net/ksingla/archive/2009/03/25/new-features-in-configuration-system-and-appcmd-in-iis-7-5.aspx#comments</comments><description>Following new features have been added to IIS configuration system and appcmd command line tool in IIS 7.5. Configuration System 1. Configuration system tracing and logging In IIS 7.5, IIS native configuration system can generate trace events capturing...(&lt;a href="http://blogs.iis.net/ksingla/archive/2009/03/25/new-features-in-configuration-system-and-appcmd-in-iis-7-5.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.iis.net/aggbug.aspx?PostID=3037551" width="1" height="1"&gt;</description><category domain="http://blogs.iis.net/ksingla/archive/tags/Appcmd/default.aspx">Appcmd</category><category domain="http://blogs.iis.net/ksingla/archive/tags/Configuration+system/default.aspx">Configuration system</category><category domain="http://blogs.iis.net/ksingla/archive/tags/IIS+7.5/default.aspx">IIS 7.5</category></item><item><title>IIS 7.5 updates to custom errors and compression</title><link>http://blogs.iis.net/ksingla/archive/2009/02/16/iis-7-5-updates-to-custom-errors-and-compression.aspx</link><pubDate>Mon, 16 Feb 2009 22:44:00 GMT</pubDate><guid isPermaLink="false">50bcf3b4-f6fe-4638-adff-0c150e922e99:2945406</guid><dc:creator>ksingla</dc:creator><slash:comments>6</slash:comments><wfw:commentRss>http://blogs.iis.net/ksingla/rsscomments.aspx?PostID=2945406</wfw:commentRss><comments>http://blogs.iis.net/ksingla/archive/2009/02/16/iis-7-5-updates-to-custom-errors-and-compression.aspx#comments</comments><description>Looking at number of people reaching my first blog post while searching for information on IIS 7.5, I figured I should do few more posts on changes which are coming in IIS 7.5. In this blog post I am covering new features which have been added to compression...(&lt;a href="http://blogs.iis.net/ksingla/archive/2009/02/16/iis-7-5-updates-to-custom-errors-and-compression.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.iis.net/aggbug.aspx?PostID=2945406" width="1" height="1"&gt;</description><category domain="http://blogs.iis.net/ksingla/archive/tags/CustomErrors/default.aspx">CustomErrors</category><category domain="http://blogs.iis.net/ksingla/archive/tags/Compression/default.aspx">Compression</category><category domain="http://blogs.iis.net/ksingla/archive/tags/IIS+7.5/default.aspx">IIS 7.5</category></item><item><title>Improvements to FastCGI in IIS 7.5</title><link>http://blogs.iis.net/ksingla/archive/2009/01/22/improvements-to-fastcgi-in-iis-7-5.aspx</link><pubDate>Thu, 22 Jan 2009 18:10:00 GMT</pubDate><guid isPermaLink="false">50bcf3b4-f6fe-4638-adff-0c150e922e99:2885120</guid><dc:creator>ksingla</dc:creator><slash:comments>9</slash:comments><wfw:commentRss>http://blogs.iis.net/ksingla/rsscomments.aspx?PostID=2885120</wfw:commentRss><comments>http://blogs.iis.net/ksingla/archive/2009/01/22/improvements-to-fastcgi-in-iis-7-5.aspx#comments</comments><description>Following improvements have been made to FastCGI module in Win7 (and Win2K8 R2). 1. Monitor changes to a file We have added ability to monitor changes to a file for each FastCGI process pool. Module will recycle FastCGI processes for the process pool...(&lt;a href="http://blogs.iis.net/ksingla/archive/2009/01/22/improvements-to-fastcgi-in-iis-7-5.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.iis.net/aggbug.aspx?PostID=2885120" width="1" height="1"&gt;</description><category domain="http://blogs.iis.net/ksingla/archive/tags/IIS+7.5/default.aspx">IIS 7.5</category><category domain="http://blogs.iis.net/ksingla/archive/tags/PHP/default.aspx">PHP</category><category domain="http://blogs.iis.net/ksingla/archive/tags/FastCGI/default.aspx">FastCGI</category></item><item><title>Generating trace information in native modules</title><link>http://blogs.iis.net/ksingla/archive/2009/01/01/generating-trace-information-in-native-modules.aspx</link><pubDate>Thu, 01 Jan 2009 19:36:00 GMT</pubDate><guid isPermaLink="false">50bcf3b4-f6fe-4638-adff-0c150e922e99:2841538</guid><dc:creator>ksingla</dc:creator><slash:comments>4</slash:comments><wfw:commentRss>http://blogs.iis.net/ksingla/rsscomments.aspx?PostID=2841538</wfw:commentRss><comments>http://blogs.iis.net/ksingla/archive/2009/01/01/generating-trace-information-in-native-modules.aspx#comments</comments><description>IIS7 has really nice tracing capabilities which are available to all module developers. If you want to make it easy for you and your customers to debug problems in your modules, you should definitely be using them. You can use IHttpTraceContext::RaiseTraceEvent...(&lt;a href="http://blogs.iis.net/ksingla/archive/2009/01/01/generating-trace-information-in-native-modules.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.iis.net/aggbug.aspx?PostID=2841538" width="1" height="1"&gt;</description><category domain="http://blogs.iis.net/ksingla/archive/tags/httpserv.h/default.aspx">httpserv.h</category></item><item><title>Using IMetadataInfo::GetModuleContextContainer to store configuration data</title><link>http://blogs.iis.net/ksingla/archive/2008/12/21/using-imetadatainfo-getmodulecontextcontainer-to-store-configuration-data.aspx</link><pubDate>Mon, 22 Dec 2008 04:05:00 GMT</pubDate><guid isPermaLink="false">50bcf3b4-f6fe-4638-adff-0c150e922e99:2823377</guid><dc:creator>ksingla</dc:creator><slash:comments>4</slash:comments><wfw:commentRss>http://blogs.iis.net/ksingla/rsscomments.aspx?PostID=2823377</wfw:commentRss><comments>http://blogs.iis.net/ksingla/archive/2008/12/21/using-imetadatainfo-getmodulecontextcontainer-to-store-configuration-data.aspx#comments</comments><description>If you write an IIS7 module, you would typically want to control its behavior based on some configuration data. IIS7 makes it really easy for developers to extend configuration schema so that their customers can put configuration data for their modules...(&lt;a href="http://blogs.iis.net/ksingla/archive/2008/12/21/using-imetadatainfo-getmodulecontextcontainer-to-store-configuration-data.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.iis.net/aggbug.aspx?PostID=2823377" width="1" height="1"&gt;</description><category domain="http://blogs.iis.net/ksingla/archive/tags/httpserv.h/default.aspx">httpserv.h</category></item><item><title>Generating configuration to allow/deny access to countries</title><link>http://blogs.iis.net/ksingla/archive/2008/12/19/generating-configuration-to-allow-deny-access-to-countries.aspx</link><pubDate>Fri, 19 Dec 2008 21:26:00 GMT</pubDate><guid isPermaLink="false">50bcf3b4-f6fe-4638-adff-0c150e922e99:2821098</guid><dc:creator>ksingla</dc:creator><slash:comments>2</slash:comments><wfw:commentRss>http://blogs.iis.net/ksingla/rsscomments.aspx?PostID=2821098</wfw:commentRss><comments>http://blogs.iis.net/ksingla/archive/2008/12/19/generating-configuration-to-allow-deny-access-to-countries.aspx#comments</comments><description>There have been few requests on forums where people wanted to control access to sites based on country from where request originated. We recommended people to use IP restriction module functionality which required people to add IP address ranges of the...(&lt;a href="http://blogs.iis.net/ksingla/archive/2008/12/19/generating-configuration-to-allow-deny-access-to-countries.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.iis.net/aggbug.aspx?PostID=2821098" width="1" height="1"&gt;</description><enclosure url="http://blogs.iis.net/ksingla/attachment/2821098.ashx" length="19469" type="text/plain" /><category domain="http://blogs.iis.net/ksingla/archive/tags/IpSecurity/default.aspx">IpSecurity</category></item><item><title>GenSCode updated to help use AhAdmin in C#, JavaScript</title><link>http://blogs.iis.net/ksingla/archive/2008/06/15/genscode-updated-to-help-use-ahadmin-in-c-javascript.aspx</link><pubDate>Sun, 15 Jun 2008 18:25:00 GMT</pubDate><guid isPermaLink="false">50bcf3b4-f6fe-4638-adff-0c150e922e99:2424369</guid><dc:creator>ksingla</dc:creator><slash:comments>4</slash:comments><wfw:commentRss>http://blogs.iis.net/ksingla/rsscomments.aspx?PostID=2424369</wfw:commentRss><comments>http://blogs.iis.net/ksingla/archive/2008/06/15/genscode-updated-to-help-use-ahadmin-in-c-javascript.aspx#comments</comments><description>As promised in my previous post , I updated genscode tool to provide intellisense for AhAdmin code in C# and JavaScript. GenSCode now accepts an optional codetype switch which can be AhAJavaScript to help use AhAdmin in JavaScript, AhACSharp to help use...(&lt;a href="http://blogs.iis.net/ksingla/archive/2008/06/15/genscode-updated-to-help-use-ahadmin-in-c-javascript.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.iis.net/aggbug.aspx?PostID=2424369" width="1" height="1"&gt;</description><category domain="http://blogs.iis.net/ksingla/archive/tags/Ahadmin/default.aspx">Ahadmin</category><category domain="http://blogs.iis.net/ksingla/archive/tags/Genscode/default.aspx">Genscode</category><category domain="http://blogs.iis.net/ksingla/archive/tags/MWA/default.aspx">MWA</category></item></channel></rss>
