<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.iis.net/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" 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/"><channel><title>rakkimk : IIS</title><link>http://blogs.iis.net/rakkimk/archive/tags/IIS/default.aspx</link><description>Tags: IIS</description><dc:language>en</dc:language><generator>CommunityServer 2007 SP1 (Build: 20510.895)</generator><item><title>IIS – Getting “Connection_Abandoned_By_AppPool DefaultAppPool” – File Version Mismatch</title><link>http://blogs.iis.net/rakkimk/archive/2009/08/07/iis-getting-connection-abandoned-by-apppool-defaultapppool-file-version-mismatch.aspx</link><pubDate>Fri, 07 Aug 2009 20:24:00 GMT</pubDate><guid isPermaLink="false">50bcf3b4-f6fe-4638-adff-0c150e922e99:3336205</guid><dc:creator>rakkimk</dc:creator><slash:comments>4</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.iis.net/rakkimk/rsscomments.aspx?PostID=3336205</wfw:commentRss><comments>http://blogs.iis.net/rakkimk/archive/2009/08/07/iis-getting-connection-abandoned-by-apppool-defaultapppool-file-version-mismatch.aspx#comments</comments><description>&lt;P&gt;Today, I was working with a customer of mine who had some problems in configuring a Virus Definitions Distribution Point for Symantec Live Update on IIS. Another module hosted on a different web-server has a button to test this distribution point, and we were seeing that the test on this………………..&lt;/P&gt;
&lt;P&gt;Read the rest of the post &lt;A href="http://blogs.msdn.com/rakkimk/archive/2009/08/07/iis-getting-connection-abandoned-by-apppool-defaultapppool-file-version-mismatch.aspx" mce_href="http://blogs.msdn.com/rakkimk/archive/2009/08/07/iis-getting-connection-abandoned-by-apppool-defaultapppool-file-version-mismatch.aspx"&gt;here&lt;/A&gt;. &lt;/P&gt;
&lt;P&gt;&lt;A title=http://blogs.msdn.com/rakkimk/archive/2009/08/07/iis-getting-connection-abandoned-by-apppool-defaultapppool-file-version-mismatch.aspx href="http://blogs.msdn.com/rakkimk/archive/2009/08/07/iis-getting-connection-abandoned-by-apppool-defaultapppool-file-version-mismatch.aspx" mce_href="http://blogs.msdn.com/rakkimk/archive/2009/08/07/iis-getting-connection-abandoned-by-apppool-defaultapppool-file-version-mismatch.aspx"&gt;http://blogs.msdn.com/rakkimk/archive/2009/08/07/iis-getting-connection-abandoned-by-apppool-defaultapppool-file-version-mismatch.aspx&lt;/A&gt;&lt;/P&gt;&lt;img src="http://blogs.iis.net/aggbug.aspx?PostID=3336205" width="1" height="1"&gt;</description><category domain="http://blogs.iis.net/rakkimk/archive/tags/IIS/default.aspx">IIS</category><category domain="http://blogs.iis.net/rakkimk/archive/tags/HTTPERR/default.aspx">HTTPERR</category></item><item><title>ADSUTIL.vbs – Copying a website</title><link>http://blogs.iis.net/rakkimk/archive/2008/11/20/adsutil-vbs-copying-a-website.aspx</link><pubDate>Fri, 21 Nov 2008 02:05:19 GMT</pubDate><guid isPermaLink="false">50bcf3b4-f6fe-4638-adff-0c150e922e99:2759151</guid><dc:creator>rakkimk</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.iis.net/rakkimk/rsscomments.aspx?PostID=2759151</wfw:commentRss><comments>http://blogs.iis.net/rakkimk/archive/2008/11/20/adsutil-vbs-copying-a-website.aspx#comments</comments><description>&lt;p&gt;&lt;strong&gt;Copying a website (to another exact copy)&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Here is the command to copy a website(run from a cmd prompt – c:\inetpub\adminscripts):&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&amp;gt; cscript.exe adsutil.vbs copy &amp;lt;source&amp;gt; &amp;lt;destination&amp;gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;blockquote&gt;   &lt;p&gt;&amp;gt; cscript.exe adsutil.vbs copy &lt;b&gt;w3svc/1&lt;/b&gt; &lt;b&gt;w3svc/556&lt;/b&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;The numbers mentioned there are nothing but the website identifiers. After copying, you might see the other (new) website stopped – just because the old one still runs on the same port and IP address combination. Taking an exact copy of website sometime comes handy where you just do not want to restart IIS for restoring a backup, but can restore the copy you took after playing with the original one. &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Copying only the ISAPI Filters (to another website)&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;This is pretty simple – you can use this example to just copy *any* node in the Metabase to another website. &lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&amp;gt; cscript adsutil.vbs copy w3svc/&lt;strong&gt;1&lt;/strong&gt;/Filters w3svc/&lt;strong&gt;2&lt;/strong&gt;/Filters&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Hope this helps!&lt;/p&gt;&lt;img src="http://blogs.iis.net/aggbug.aspx?PostID=2759151" width="1" height="1"&gt;</description><category domain="http://blogs.iis.net/rakkimk/archive/tags/IIS/default.aspx">IIS</category><category domain="http://blogs.iis.net/rakkimk/archive/tags/Adsutil/default.aspx">Adsutil</category></item><item><title>LogParser – Useful Logparser scripts</title><link>http://blogs.iis.net/rakkimk/archive/2008/11/18/logparser-useful-logparser-scripts.aspx</link><pubDate>Wed, 19 Nov 2008 02:33:06 GMT</pubDate><guid isPermaLink="false">50bcf3b4-f6fe-4638-adff-0c150e922e99:2753976</guid><dc:creator>rakkimk</dc:creator><slash:comments>3</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.iis.net/rakkimk/rsscomments.aspx?PostID=2753976</wfw:commentRss><comments>http://blogs.iis.net/rakkimk/archive/2008/11/18/logparser-useful-logparser-scripts.aspx#comments</comments><description>&lt;p&gt;&lt;a href="http://www.logparser.com"&gt;Logparser&lt;/a&gt; is a powerful utility which comes handy for me whenever I’m helping my customers facing a problem with slow running pages, frequently hit pages, post mortem analysis to find what went wrong on IIS, et al. You can use Logparser to parse your IIS logs to health check the state of your server, and the requests it had served. Below are few LogParser scripts, and their corresponding output in chart format – you can choose your own format, but isn’t a picture worth a 1000 words? &lt;/p&gt;  &lt;p&gt;Note : change the GIF file location, and chartType to get more awesome images. &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;u&gt;Finding Top 20 hit URLs&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&amp;gt; logparser &amp;quot;select top 20 cs-uri-stem, count(*) as Hits into c:\mychart.gif from c:\inetpub\logs\logfiles\w3svc1\*.log group by cs-uri-stem order by Hits DESC&amp;quot; -i:w3c -chartType:barstacked -view:on&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;a href="http://blogs.iis.net/blogs/rakkimk/image_2EBE5C55.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://blogs.iis.net/blogs/rakkimk/image_thumb_1B9FC05A.png" width="542" height="426" /&gt;&lt;/a&gt;&amp;#160;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&lt;strong&gt;&lt;u&gt;Finding Error codes&lt;/u&gt;       &lt;br /&gt;&lt;/strong&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;gt; logparser &amp;quot;select sc-status, count(*) as Hits into mychart.gif from c:\inetpub\logs\logfiles\w3svc1\*.log group by sc-status&amp;quot; -i:w3c -chartType:pieexploded3d -view:on&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;a href="http://blogs.iis.net/blogs/rakkimk/image_282FFE27.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://blogs.iis.net/blogs/rakkimk/image_thumb_3E88341D.png" width="542" height="405" /&gt;&lt;/a&gt; &lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&lt;strong&gt;&lt;u&gt;Finding the top 10 client IPs&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&amp;gt; logparser &amp;quot;select top 10 c-ip, count(*) as Hits into mychart.gif from c:\inetpub\logs\logfiles\w3svc1\*.log group by c-ip order by Hits DESC&amp;quot; -i:w3c -chartType:bar3d -view:on&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;a href="http://blogs.iis.net/blogs/rakkimk/image_75F366AD.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://blogs.iis.net/blogs/rakkimk/image_thumb_7E0D23B3.png" width="542" height="419" /&gt;&lt;/a&gt; &lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&lt;strong&gt;&lt;u&gt;Slow running pages&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&amp;gt; logparser &amp;quot;select top 10 cs-uri-stem, time-taken from c:\inetpub\logs\logfiles\w3svc1\*.log order by time-taken DESC&amp;quot; -i:w3c&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;     &lt;br /&gt;cs-uri-stem&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; time-taken       &lt;br /&gt;------------------------------------------&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ----------       &lt;br /&gt;/IRTcalculator/default.aspx&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 101262       &lt;br /&gt;/TestingWebsite/WebsiteThumbnailImage.aspx&amp;#160; 42495       &lt;br /&gt;/IRTcalculator/default.aspx&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 33711       &lt;br /&gt;/Qod/ScoreCard.aspx&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 28672       &lt;br /&gt;/IRTcalculator/default.aspx&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 24802       &lt;br /&gt;/IRTcalculator/default.aspx&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 24169       &lt;br /&gt;/IRTcalculator/default.aspx&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 22732       &lt;br /&gt;/QoD/&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 20967       &lt;br /&gt;/IRTcalculator/default.aspx&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 20358       &lt;br /&gt;/IRTcalculator/default.aspx&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 19281 &lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;This above query will list you the top 10 URL’s which are taking more time – be informed that this time-taken field in IIS 6/7 will contain the network time to, this is just not only the IIS processing time. &lt;/p&gt;  &lt;p&gt;More to come! Hope this helps.&lt;/p&gt;&lt;img src="http://blogs.iis.net/aggbug.aspx?PostID=2753976" width="1" height="1"&gt;</description><category domain="http://blogs.iis.net/rakkimk/archive/tags/Logging/default.aspx">Logging</category><category domain="http://blogs.iis.net/rakkimk/archive/tags/IIS/default.aspx">IIS</category><category domain="http://blogs.iis.net/rakkimk/archive/tags/LogParser/default.aspx">LogParser</category></item><item><title>Microsoft Web Platform Installer Beta</title><link>http://blogs.iis.net/rakkimk/archive/2008/10/07/microsoft-web-platform-installer-beta.aspx</link><pubDate>Wed, 08 Oct 2008 01:11:50 GMT</pubDate><guid isPermaLink="false">50bcf3b4-f6fe-4638-adff-0c150e922e99:2669262</guid><dc:creator>rakkimk</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.iis.net/rakkimk/rsscomments.aspx?PostID=2669262</wfw:commentRss><comments>http://blogs.iis.net/rakkimk/archive/2008/10/07/microsoft-web-platform-installer-beta.aspx#comments</comments><description>&lt;p&gt;If you are a web deployment guru, and looking to reduce your burden of downloading lot of software, configuring them and if you didn’t check &lt;a href="http://blogs.iis.net/bills/archive/2008/10/03/fast-download-and-install-of-microsoft-s-web-stack-iis7-asp-net-sql-express-and-visual-web-developer-and-more.aspx"&gt;Bills’ blog&lt;/a&gt; earlier, you better do check it right now. &lt;/p&gt;  &lt;p&gt;The new ‘Microsoft Web Platform Installer Beta’ gives you an easy way of configuring the ASP.NET/IIS stack along with tools needed for development all in one go.&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;strong&gt;1. Select the IIS components you need to install&lt;/strong&gt;&amp;#160;&lt;/p&gt;    &lt;p&gt;&lt;a href="http://blogs.iis.net/blogs/rakkimk/image_270961EE.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://blogs.iis.net/blogs/rakkimk/image_thumb_20E736B5.png" width="513" height="381" /&gt;&lt;/a&gt;&amp;#160;&lt;/p&gt;    &lt;p&gt;&lt;strong&gt;2. Select the tools, .NET SP&lt;/strong&gt;&lt;/p&gt;    &lt;p&gt;&lt;a href="http://blogs.iis.net/blogs/rakkimk/image_78D9A8F7.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://blogs.iis.net/blogs/rakkimk/image_thumb_69C7EB7F.png" width="517" height="385" /&gt;&lt;/a&gt; &lt;/p&gt;    &lt;p&gt;&lt;strong&gt;3. Download and Installation &lt;/strong&gt;&lt;/p&gt;    &lt;p&gt;&lt;/p&gt;    &lt;p&gt;&lt;a href="http://blogs.iis.net/blogs/rakkimk/image_2A8C5293.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://blogs.iis.net/blogs/rakkimk/image_thumb_027EC4D6.png" width="515" height="383" /&gt;&lt;/a&gt;&amp;#160;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;You can get it from &lt;a href="http://www.microsoft.com/web/channel/products/WebPlatformInstaller.aspx"&gt;here&lt;/a&gt;. Happy Deployment (with less hassles)!&lt;/p&gt;  &lt;p&gt;.rm&lt;/p&gt;&lt;img src="http://blogs.iis.net/aggbug.aspx?PostID=2669262" width="1" height="1"&gt;</description><category domain="http://blogs.iis.net/rakkimk/archive/tags/ASP.NET/default.aspx">ASP.NET</category><category domain="http://blogs.iis.net/rakkimk/archive/tags/IIS/default.aspx">IIS</category><category domain="http://blogs.iis.net/rakkimk/archive/tags/Web/default.aspx">Web</category></item><item><title>IIS - Sample ISAPI Filter doing Redirection to another website</title><link>http://blogs.iis.net/rakkimk/archive/2008/05/09/iis-sample-isapi-filter-doing-redirection-to-another-website.aspx</link><pubDate>Fri, 09 May 2008 23:17:00 GMT</pubDate><guid isPermaLink="false">50bcf3b4-f6fe-4638-adff-0c150e922e99:2349266</guid><dc:creator>rakkimk</dc:creator><slash:comments>5</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.iis.net/rakkimk/rsscomments.aspx?PostID=2349266</wfw:commentRss><comments>http://blogs.iis.net/rakkimk/archive/2008/05/09/iis-sample-isapi-filter-doing-redirection-to-another-website.aspx#comments</comments><description>&lt;P&gt;I know I'm in a very old world of writing ISAPI Filters to do the redirection instead of just creating an IHttpModule and plug it directly in the IIS7 request pipeline. But, one of my customer wanted this ISAPI filter and I made a fairly simple ISAPI Filter to do the redirection. &lt;/P&gt;
&lt;P&gt;Below sample doesn't do any checks, or maintains any lists of mapped URLs, but just a simple redirection of all the requests to &lt;A href="http://www.live.com/" mce_href="http://www.live.com"&gt;http://www.live.com&lt;/A&gt;. Feel free to modify it accommodating your need. &lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;DIV style="BORDER-RIGHT: #2e595c 1px solid; PADDING-RIGHT: 0px; BORDER-TOP: #2e595c 1px solid; PADDING-LEFT: 0px; BACKGROUND: #fff; LEFT: -2px; PADDING-BOTTOM: 0px; MARGIN-LEFT: 4px; BORDER-LEFT: #2e595c 1px solid; COLOR: black; MARGIN-RIGHT: 4px; PADDING-TOP: 0px; BORDER-BOTTOM: #2e595c 1px solid; POSITION: relative; TOP: -2px"&gt;
&lt;DIV style="BORDER-RIGHT: blue 1px solid; BORDER-TOP: blue 1px solid; BACKGROUND: #3f73b6; BORDER-LEFT: blue 1px solid; WIDTH: 100%; COLOR: white; BORDER-BOTTOM: blue 1px solid"&gt;&lt;SPAN style="WIDTH: 100%"&gt;Code Snippet&lt;/SPAN&gt;&lt;/DIV&gt;&lt;PRE&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;#include&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #00ff00"&gt;&amp;lt;stdio.h&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt; 
&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;#include&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #00ff00"&gt;&amp;lt;stdlib.h&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt; 
&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;#include&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #00ff00"&gt;&amp;lt;afx.h&amp;gt;
&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;#include&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #00ff00"&gt;&amp;lt;afxisapi.h&amp;gt;

&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;BOOL WINAPI &lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;__stdcall&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt; GetFilterVersion(HTTP_FILTER_VERSION *pVer) 
{ 
  pVer-&amp;gt;dwFlags = (SF_NOTIFY_PREPROC_HEADERS ); 
  CFile myFile(&lt;/SPAN&gt;&lt;SPAN style="COLOR: #00ff00"&gt;"C:\\ISAPILOG\\URLs.html"&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;, CFile::modeCreate);
  myFile.Close();
  pVer-&amp;gt;dwFilterVersion = HTTP_FILTER_REVISION; 
  strcpy(pVer-&amp;gt;lpszFilterDesc, &lt;/SPAN&gt;&lt;SPAN style="COLOR: #00ff00"&gt;"Sample Redirection ISAPI"&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;); 
  &lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;return&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt; TRUE; 
} 

DWORD WINAPI &lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;__stdcall&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt; HttpFilterProc(HTTP_FILTER_CONTEXT *pfc, DWORD NotificationType, VOID *pvData) 
{ 
&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;   char&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt; buffer[256];
   DWORD buffSize = &lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;sizeof&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;(buffer);
   HTTP_FILTER_PREPROC_HEADERS *p;
   CHttpFilterContext *chc;
   chc = (CHttpFilterContext *)pfc;
&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;   char&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt; *newUrl;
   CFile myFile(&lt;/SPAN&gt;&lt;SPAN style="COLOR: #00ff00"&gt;"C:\\ISAPILOG\\URLs.html"&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;, CFile::modeWrite);

&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;   switch&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt; (NotificationType)  { 

&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;   case&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt; SF_NOTIFY_PREPROC_HEADERS :

   p = (HTTP_FILTER_PREPROC_HEADERS *)pvData;

&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;   char&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt; newUrl[50];
   wsprintf(newUrl, &lt;/SPAN&gt;&lt;SPAN style="COLOR: #00ff00"&gt;"http://www.live.com/"&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;);

&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;   char&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt; szTemp[50];
   wsprintf(szTemp, &lt;/SPAN&gt;&lt;SPAN style="COLOR: #00ff00"&gt;"Location: %s\r\n\r\n"&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;,newUrl);

   pfc-&amp;gt;ServerSupportFunction (pfc,
                            SF_REQ_SEND_RESPONSE_HEADER,
                            (PVOID) &lt;/SPAN&gt;&lt;SPAN style="COLOR: #00ff00"&gt;"302 Redirect"&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;,
                            (DWORD) szTemp,0); 

   myFile.SeekToEnd();
   myFile.Write(&lt;/SPAN&gt;&lt;SPAN style="COLOR: #00ff00"&gt;"&amp;lt;BR&amp;gt;&amp;lt;B&amp;gt; Orignial URL : &amp;lt;/B&amp;gt;"&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;,strlen(&lt;/SPAN&gt;&lt;SPAN style="COLOR: #00ff00"&gt;"&amp;lt;BR&amp;gt;&amp;lt;B&amp;gt; Orignial URL : &amp;lt;/B&amp;gt;"&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;));
   BOOL bHeader = p-&amp;gt;GetHeader(pfc,&lt;/SPAN&gt;&lt;SPAN style="COLOR: #00ff00"&gt;"url"&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;,buffer,&amp;amp;buffSize); 
   CString myURL(buffer);
   myURL.MakeLower(); 
   myFile.Write(buffer,buffSize);
   
   myFile.Write(&lt;/SPAN&gt;&lt;SPAN style="COLOR: #00ff00"&gt;" &amp;lt;B&amp;gt;New URL : &amp;lt;/B&amp;gt; "&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;,strlen(&lt;/SPAN&gt;&lt;SPAN style="COLOR: #00ff00"&gt;" &amp;lt;B&amp;gt;New URL : &amp;lt;/B&amp;gt; "&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;));
   myFile.Write(newUrl,strlen(newUrl));
   myFile.Close();

&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;   return&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt; SF_STATUS_REQ_HANDLED_NOTIFICATION; 
   }
&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;  return&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt; SF_STATUS_REQ_NEXT_NOTIFICATION; 
} &lt;/PRE&gt;&lt;/DIV&gt;
&lt;P&gt;&lt;FONT color=#000000&gt;Above is my sample, You might want to check my &lt;A href="http://blogs.msdn.com/rakkimk/archive/2007/03/01/writing-a-simple-isapi-filter.aspx" mce_href="http://blogs.msdn.com/rakkimk/archive/2007/03/01/writing-a-simple-isapi-filter.aspx"&gt;earlier ISAPI blog post&lt;/A&gt; to get the .def file and steps to create the DLL. &lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#000000&gt;&lt;BR&gt;Hope this helps!&lt;/FONT&gt; 
&lt;P&gt;&lt;FONT style="BACKGROUND-COLOR: #808080"&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/SPAN&gt;&lt;img src="http://blogs.iis.net/aggbug.aspx?PostID=2349266" width="1" height="1"&gt;</description><category domain="http://blogs.iis.net/rakkimk/archive/tags/ISAPI/default.aspx">ISAPI</category><category domain="http://blogs.iis.net/rakkimk/archive/tags/IIS/default.aspx">IIS</category></item></channel></rss>