<?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>Search results matching tag 'Other'</title><link>http://blogs.iis.net/search/SearchResults.aspx?o=DateDescending&amp;tag=Other&amp;orTags=0</link><description>Search results matching tag 'Other'</description><dc:language>en-US</dc:language><generator>CommunityServer 2007 SP1 (Build: 20510.895)</generator><item><title>Setup IIS on Server Core – Windows Server 2008 R2</title><link>http://blogs.iis.net/ruslany/archive/2009/02/26/setup-iis-on-server-core-windows-server-2008-r2.aspx</link><pubDate>Fri, 27 Feb 2009 01:20:24 GMT</pubDate><guid isPermaLink="false">50bcf3b4-f6fe-4638-adff-0c150e922e99:2970008</guid><dc:creator>Anonymous</dc:creator><cs:applicationKey>ruslany</cs:applicationKey><description>&lt;p&gt;With the addition of .NET Framework to Server Core in Windows Server 2008 R2 the Server Core installation option became even more appealing for those who want to use a very low footprint server for hosting their applications. Availability of .NET framework provides the following great benefits:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;ASP.NET support&lt;/strong&gt; – you can now use Server Core to host your ASP.NET applications.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;IIS Remote Management&lt;/strong&gt; – Server Core does not provide any user interface other than command line. But if you prefer to use IIS Manager UI to administer IIS, you can now use IIS Remote Manager to connect to IIS on Server Core and perform all the management tasks from within familiar UI of IIS Manager.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;PowerShell&lt;/strong&gt; – Windows Server 2008 R2 includes IIS PowerShell snapin, which is also available on Server Core.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;This post describes how to setup and configure IIS on Server Core in Windows Server 2008 R2. Specifically the following tasks are described:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Using oclist and ocsetup commands&lt;/li&gt;
&lt;li&gt;Basic Installation of IIS&lt;/li&gt;
&lt;li&gt;Installing ASP.NET&lt;/li&gt;
&lt;li&gt;Installing PowerShell and IIS snap-in&lt;/li&gt;
&lt;li&gt;Enabling IIS Remote Management&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;span id="more-260"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;h3&gt;Using oclist and ocsetup commands&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;oclist&lt;/strong&gt; command can be used to list the available and installed roles and services on the server. The output of the command looks similar to below:&lt;/p&gt;
&lt;p&gt;&lt;img class="alignnone size-medium wp-image-261" style="border: 0px;" title="oclist" src="http://ruslany.net/wp-content/uploads/2009/02/oclist-500x245.png" alt="oclist command output" width="500" height="245" /&gt;&lt;/p&gt;
&lt;p&gt;It is important to understand how &lt;strong&gt;oclist&lt;/strong&gt; renders component dependencies. For example, in the above screenshot the oclist output shows that IIS-FTPExtensibility is dependent on IIS-FTPSvc, so in order to install IIS-FTPExtensibility it is first necessary to install IIS-FTPSvc.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;ocsetup&lt;/strong&gt; command can be used to install and uninstall individual roles and services.&lt;/p&gt;
&lt;h3&gt;Basic Installation of IIS&lt;/h3&gt;
&lt;p&gt;To perform basic and default installation of IIS on Server Core run the following command:&lt;/p&gt;
&lt;pre name="code" class="dos"&gt;
start /w ocsetup IIS-WebServerRole
&lt;/pre&gt;
&lt;p&gt;After the command has run you can run &lt;strong&gt;oclist | more&lt;/strong&gt; and check which IIS components have been installed.&lt;/p&gt;
&lt;h3&gt;Installing ASP.NET&lt;/h3&gt;
&lt;p&gt;To install ASP.NET on Server Core run the following commands in exact same order as listed below:&lt;/p&gt;
&lt;pre name="code" class="dos"&gt;
start /w ocsetup WAS-NetFxEnvironment
start /w ocsetup IIS-ISAPIExtensions
start /w ocsetup IIS-ISAPIFilter
start /w ocsetup IIS-NetFxExtensibility
start /w ocsetup IIS-ASPNET
&lt;/pre&gt;
&lt;h3&gt;Installing PowerShell and IIS snap-in&lt;/h3&gt;
&lt;p&gt;First, install the PowerShell by running the command as below:&lt;/p&gt;
&lt;pre name="code" class="dos"&gt;
start /w ocsetup MicrosoftWindowsPowerShell
&lt;/pre&gt;
&lt;p&gt;Next, launch the PowerShell by running this command:&lt;/p&gt;
&lt;pre name="code" class="dos"&gt;
\windows\system32\WindowsPowerShell\v1.0\powershell.exe
&lt;/pre&gt;
&lt;p&gt;After running this command you should see a PowerShell prompt. Type the following to import IIS snapin:&lt;/p&gt;
&lt;pre name="code" class="dos"&gt;
import-module WebAdministration
&lt;/pre&gt;
&lt;p&gt;After that you can get the list of available IIS cmdlets by typing&lt;/p&gt;
&lt;pre name="code" class="dos"&gt;
get-command –pssnapin WebAdministration
&lt;/pre&gt;
&lt;p&gt;Refer to the article &lt;a title="Managing IIS with IIS 7.0 PowerShell Snap-in" href="http://learn.iis.net/page.aspx/447/managing-iis-with-the-iis-70-powershell-snap-in/"&gt;Managing IIS with IIS 7.0 PowerShell Snap-in&lt;/a&gt; for more information.&lt;/p&gt;
&lt;h3&gt;Enabling IIS Remote Management&lt;/h3&gt;
&lt;p&gt;First install the IIS management service by executing this command:&lt;/p&gt;
&lt;pre name="code" class="dos"&gt;
start /w ocsetup IIS-ManagementService
&lt;/pre&gt;
&lt;p&gt;Then enable remote management by running this command:&lt;/p&gt;
&lt;pre name="code" class="dos"&gt;
reg add HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WebManagement\Server ^
/v EnableRemoteManagement /t REG_DWORD /d 1
&lt;/pre&gt;
&lt;p&gt;And finally start the management service:&lt;/p&gt;
&lt;pre name="code" class="dos"&gt;
net start wmsvc
&lt;/pre&gt;
&lt;p&gt;Now you can connect to the IIS on the Server Core from a remote machine by using &lt;a title="IIS Remote Manager" href="http://www.iis.net/downloads/default.aspx?tabid=34&amp;amp;g=6&amp;amp;i=1626" target="_blank"&gt;IIS Remote Manager&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;strong&gt;Acknowledgement&lt;/strong&gt;: thanks to Saad Ladki and &lt;a title="Thomas Deml blog" href="http://blogs.iis.net/thomad/"&gt;Thomas Deml &lt;/a&gt;from IIS team for explaining to me all these steps.&lt;/em&gt;&lt;/p&gt;
</description></item><item><title>Dynamic IP Restrictions for IIS 7.0 - Beta</title><link>http://blogs.iis.net/ruslany/archive/2009/02/16/dynamic-ip-restrictions-for-iis-7-0-beta.aspx</link><pubDate>Tue, 17 Feb 2009 02:34:00 GMT</pubDate><guid isPermaLink="false">50bcf3b4-f6fe-4638-adff-0c150e922e99:2945656</guid><dc:creator>Anonymous</dc:creator><cs:applicationKey>ruslany</cs:applicationKey><description>&lt;P&gt;Today IIS team has released the Dynamic IP Restrictions Extension for IIS 7.0 - Beta. The Dynamic IP Restrictions Extension provides IT Professionals and Hosters a configurable module that helps mitigate or block Denial of Service Attacks or cracking of passwords through Brute-force by temporarily blocking Internet Protocol (IP) addresses of HTTP clients who follow a pattern that could be conducive to one of such attacks. This module can be configured such that the analysis and blocking could be done at the Web Server or the Web Site level.&lt;/P&gt;
&lt;H3&gt;Install the Dynamic IP Restrictions Beta Today!&lt;/H3&gt;
&lt;P&gt;&lt;A href="http://www.iis.net/downloads/default.aspx?tabid=34&amp;amp;g=6&amp;amp;i=1825" mce_href="http://www.iis.net/downloads/default.aspx?tabid=34&amp;amp;g=6&amp;amp;i=1825"&gt;Microsoft Dynamic IP Restrictions for IIS 7.0 - Beta (x86)&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="http://www.iis.net/downloads/default.aspx?tabid=34&amp;amp;g=6&amp;amp;i=1826" mce_href="http://www.iis.net/downloads/default.aspx?tabid=34&amp;amp;g=6&amp;amp;i=1826"&gt;Microsoft Dynamic IP Restrictions for IIS 7.0 - Beta (x64)&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;If IIS already has IPv4 Address and IP restrictions module enabled then Dynamic IP Restrictions installer will need to un-install the existing module in order to continue the setup process. Note that the existing IPv4 configuration will be preserved while old module is removed and new module is installed&lt;SPAN id=more-245&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;H3&gt;Features&lt;/H3&gt;
&lt;P&gt;The Dynamic IP Restrictions includes these key features:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;STRONG&gt;Blocking of IP addresses based on number of concurrent requests&lt;/STRONG&gt; - If HTTP client makes many concurrent requests then that client’s IP address gets temporarily blocked.&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Blocking of IP addresses based on number of requests over a period of time&lt;/STRONG&gt; - If HTTP client makes many requests over short period of time then that client’s IP address gets temporarily blocked.&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Various deny actions&lt;/STRONG&gt; - it is possible to specify what response to return to an HTTP client whose IP address is blocked. The module can return status codes 403 and 404 or just drop the HTTP connection and do not return any response.&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Logging of dynamically denied requests&lt;/STRONG&gt; - all denied requests can be logged into a W3C formatted log file.&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Displaying currently blocked IP addresses&lt;/STRONG&gt; - a list of currently blocked IP addresses can be obtained by using IIS Manager or by using IIS RSCA API’s.&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;IPv6&lt;/STRONG&gt; - the module fully supports IPv6 addresses.&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;In additions to these features, the Dynamic IP Restrictions for IIS 7.0 provides the same functionality that exists in IIS 7.0 built-in IPv4 and Domain Restrictions. Because of that the Dynamic IP Restrictions is provided as a replacement for IPv4 and Domain Restrictions.&lt;/P&gt;
&lt;H3&gt;More information&lt;/H3&gt;
&lt;P&gt;Module walkthrough: &lt;A href="http://learn.iis.net/page.aspx/548/using-dynamic-ip-restrictions/" mce_href="http://learn.iis.net/page.aspx/548/using-dynamic-ip-restrictions/"&gt;http://learn.iis.net/page.aspx/548/using-dynamic-ip-restrictions/&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Support forum: &lt;A href="http://forums.iis.net/1043.aspx" mce_href="http://forums.iis.net/1043.aspx"&gt;http://forums.iis.net/1043.aspx&lt;/A&gt;&lt;/P&gt;</description></item><item><title>ASP.NET postbacks and URL rewriting</title><link>http://blogs.iis.net/ruslany/archive/2008/10/23/asp-net-postbacks-and-url-rewriting.aspx</link><pubDate>Thu, 23 Oct 2008 05:04:11 GMT</pubDate><guid isPermaLink="false">50bcf3b4-f6fe-4638-adff-0c150e922e99:2701108</guid><dc:creator>Anonymous</dc:creator><cs:applicationKey>ruslany</cs:applicationKey><description>&lt;p&gt;ASP.NET Web Forms extensively use postback mechanism in order to maintain the state of the server-side controls on the web page. This makes it somewhat tricky to perform URL rewriting for ASP.NET pages. When a server side form control is added to the web page, ASP.NET will render the response with HTML &amp;lt;form&amp;gt; tag that contains an action attribute pointing back to the page where the form control is. This means that if URL rewriting was used for that page, the action attribute will point back to the rewritten URL, not to the URL that was requested from the browser. This will cause the browser to show rewritten URL any time a postback occurs.&lt;/p&gt;
&lt;/p&gt;
&lt;p&gt;&lt;span id="more-105"&gt;&lt;/span&gt;
&lt;p&gt;Let me demonstrate this on an example. Assume you have a very simple web form in a file called &lt;strong&gt;default.aspx. &lt;/strong&gt;When you request &lt;strong&gt;http://localhost/default.aspx&lt;/strong&gt; in a browser and then view the HTML source for the response, you will see that the response contains the &amp;lt;form&amp;gt; element, which looks similar to this:&lt;/p&gt;
&lt;p&gt;&lt;samp&gt;&amp;lt;form name=&amp;#8221;form1&amp;#8243; method=&amp;#8221;post&amp;#8221; action=&amp;#8221;&lt;strong&gt;Default.aspx&lt;/strong&gt;&amp;#8221; id=&amp;#8221;form1&amp;#8243;&amp;gt;&lt;/samp&gt;&lt;/p&gt;
&lt;p&gt;The &lt;strong&gt;action&lt;/strong&gt; attribute contains the URL where the form data will be posted to when you click on the button in the web page.&lt;/p&gt;
&lt;p&gt;Now, let&amp;#8217;s create a very simple rewrite rule that rewrites URL from &lt;strong&gt;http://localhost/homepage&lt;/strong&gt; to &lt;strong&gt;http://localhost/default.aspx&lt;/strong&gt;. &lt;/p&gt;
&lt;pre class="code"&gt;&lt;span style="color: blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;rewrite&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;
  &amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;rules&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;
    &amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;rule &lt;/span&gt;&lt;span style="color: red"&gt;name&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;"&lt;span style="color: blue"&gt;MyRule&lt;/span&gt;" &lt;span style="color: red"&gt;patternSyntax&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;"&lt;span style="color: blue"&gt;Wildcard&lt;/span&gt;"&lt;span style="color: blue"&gt;&amp;gt;
      &amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;match &lt;/span&gt;&lt;span style="color: red"&gt;url&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;"&lt;span style="color: blue"&gt;homepage&lt;/span&gt;" &lt;span style="color: blue"&gt;/&amp;gt;
      &amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;action &lt;/span&gt;&lt;span style="color: red"&gt;type&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;"&lt;span style="color: blue"&gt;Rewrite&lt;/span&gt;" &lt;span style="color: red"&gt;url&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;"&lt;span style="color: blue"&gt;default.aspx&lt;/span&gt;" &lt;span style="color: blue"&gt;/&amp;gt;
    &amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515"&gt;rule&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;
  &amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515"&gt;rules&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;
&amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515"&gt;rewrite&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;
&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;When you request &lt;strong&gt;http://localhost/homepage&lt;/strong&gt; in a browser, the URL will be rewritten in accordance to the above rule and the page will be shown correctly in the browser:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://ruslany.net/wp-content/uploads/2008/10/postback1.png"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="276" alt="Postback1" src="http://ruslany.net/wp-content/uploads/2008/10/postback1-thumb.png" width="504" border="0"&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;However, when you click on the &lt;strong&gt;Submit&lt;/strong&gt; button, the browser&amp;#8217;s address bar will display &lt;strong&gt;http://localhost/default.aspx&lt;/strong&gt;, thus exposing the internal URL, that you wanted to hide by using URL rewriting:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://ruslany.net/wp-content/uploads/2008/10/postback2.png"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="266" alt="Postback2" src="http://ruslany.net/wp-content/uploads/2008/10/postback2-thumb.png" width="504" border="0"&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;A few workarounds to fix this behavior existed in previous versions of ASP.NET. For example, you could sub-class the form control, or use Control Adapter as explained &lt;a title="ScottGu blog" href="http://weblogs.asp.net/scottgu/archive/2007/02/26/tip-trick-url-rewriting-with-asp-net.aspx" target="_blank"&gt;here&lt;/a&gt;.&amp;nbsp; However, these workarounds were not very easy to implement. Luckily, the ASP.NET in .NET Framework 3.5 SP1 provides a very simple way to fix that. Now you can use the property of the &lt;strong&gt;HtmlForm&lt;/strong&gt; class called &lt;strong&gt;Action&lt;/strong&gt; to set the postback URL to the one that was requested by browser before any rewriting happened. You can obtain that URL from a server variable set by URL rewriting component. For example ISAPI_Rewrite saves it in a server variable called HTTP_X_REWRITE_URL. &lt;a title="URL Rewrite Module for IIS 7.0" href="http://learn.iis.net/page.aspx/460/using-url-rewrite-module" target="_blank"&gt;URL Rewrite Module for IIS 7.0&lt;/a&gt; saves it in &lt;strong&gt;HTTP_X_ORIGINAL_URL&lt;/strong&gt;. So, to fix the postback URL for your web form when you use URL Rewrite Module, you would need to add the following code to the page:&lt;/p&gt;
&lt;pre class="code"&gt;&lt;span style="color: blue"&gt;protected void &lt;/span&gt;Page_Load(&lt;span style="color: blue"&gt;object &lt;/span&gt;sender, &lt;span style="color: #2b91af"&gt;EventArgs &lt;/span&gt;e)
{
    &lt;span style="color: blue"&gt;if &lt;/span&gt;( !&lt;span style="color: #2b91af"&gt;String&lt;/span&gt;.IsNullOrEmpty(Request.ServerVariables[&lt;span style="color: #a31515"&gt;"HTTP_X_ORIGINAL_URL"&lt;/span&gt;]) )
    {
        form1.Action = Request.ServerVariables[&lt;span style="color: #a31515"&gt;"HTTP_X_ORIGINAL_URL"&lt;/span&gt;];
    }
}&lt;/pre&gt;
&lt;p&gt;After this change, if you reload the web page at &lt;strong&gt;http://localhost/homepage&lt;/strong&gt; and then click on submit button you will see that the browser&amp;#8217;s address bar still displays the correct URL:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://ruslany.net/wp-content/uploads/2008/10/postback3.png"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="266" alt="Postback3" src="http://ruslany.net/wp-content/uploads/2008/10/postback3-thumb.png" width="504" border="0"&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;If you view the HTML for the response you will see that the &amp;lt;form&amp;gt; tag now contains the correct action URL:&lt;/p&gt;
&lt;p&gt;&lt;samp&gt;&amp;lt;form name=&amp;#8221;form1&amp;#8243; method=&amp;#8221;post&amp;#8221; action=&amp;#8221;/homepage&amp;#8221; id=&amp;#8221;form1&amp;#8243;&amp;gt;&lt;/samp&gt;&lt;/p&gt;
&lt;p&gt;When you use ASP.NET master pages you could add the Page_Load method to the master page and that would take care of postback action URL for all the pages in your web application. Note thought that in order to be able to use the HtmlForm.Action property you have to upgrade to .NET Framework 3.5 SP1.&lt;/p&gt;
</description></item><item><title>Wildcard script mapping and IIS 7 integrated pipeline</title><link>http://blogs.iis.net/ruslany/archive/2008/09/30/wildcard-script-mapping-and-iis-7-integrated-pipeline.aspx</link><pubDate>Wed, 01 Oct 2008 03:30:18 GMT</pubDate><guid isPermaLink="false">50bcf3b4-f6fe-4638-adff-0c150e922e99:2655904</guid><dc:creator>Anonymous</dc:creator><cs:applicationKey>ruslany</cs:applicationKey><description>&lt;p&gt;The big benefit of IIS 7 integrated request processing pipeline is the fact that all the nice and useful ASP.NET features can be used for any type of content on your web site; not just for ASP.NET-specific content. For example, ASP.NET SQL-based membership can be used to protect static files and folders. Also, ASP.NET extensibility API&amp;#8217;s, such as &lt;strong&gt;IHttpHandler&lt;/strong&gt; and &lt;strong&gt;IHttpModule&lt;/strong&gt; can be used to add custom modules and handlers that would be executed even for non-ASP.NET content.&lt;/p&gt;
&lt;p&gt;IIS 6 did not have this level of integration. ASP.NET was plugged into IIS 6 as an ISAPI extension and by default was configured to handle ONLY requests mapped to that extension - for example any request that ended with &amp;#8220;.aspx&amp;#8221; would be be processed by ASP.NET extension. This obviously was a big limitation for customers who wanted to be able to use ASP.NET features for all other contend on web site. The most common way to workaround that was to use &amp;#8220;Wildcard script mapping&amp;#8221;. This post explains how an application that used wildcard script mapping in IIS 6 can be migrated over to IIS 7.&lt;/p&gt;
&lt;/p&gt;
&lt;p&gt;&lt;span id="more-95"&gt;&lt;/span&gt;
&lt;p&gt;Assume you had configured ASP.NET in IIS 6 to handle all requests by using wildcard script mapping. For example you had an ASP.NET module for URL rewriting and you wanted this module to handle extension-less URLs. &lt;/p&gt;
&lt;p&gt;This wildcard script map configuration is typically done within IIS 6 manager by opening the properties dialog for either web server or web site and selecting &lt;strong&gt;Home Directory&lt;/strong&gt; tab, then clicking on &lt;strong&gt;Configuration&lt;/strong&gt; button and then clicking on the &lt;strong&gt;Insert&lt;/strong&gt; button for &amp;#8220;Wildcard application maps&amp;#8221;:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://ruslany.net/wp-content/uploads/2008/09/wildcardiis6.png"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="379" alt="WildcardIIS6" src="http://ruslany.net/wp-content/uploads/2008/09/wildcardiis6-thumb.png" width="390" border="0"&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;Now, as you move your application to IIS 7, you want to configure it to achieve the same behavior of ASP.NET. There are two options on how this can be done: using &lt;strong&gt;Classic&lt;/strong&gt; pipeline mode or using &lt;strong&gt;Integrated&lt;/strong&gt; pipeline mode.&lt;/p&gt;
&lt;h3&gt;Wildcard script mapping in IIS 7 classic pipeline mode&lt;/h3&gt;
&lt;p&gt;With classic pipeline mode the ASP.NET is plugged into the IIS request processing pipeline as an ISAPI extension - exactly the same way as it was in IIS 6. In fact, if you open %WINDIR%\system32\inetsrv\config\applicationHost.config file and locate the &amp;lt;handlers&amp;gt; section inside of it you can see how IIS is configured to map ASP.NET specific requests to the &lt;strong&gt;aspnet_isapi.dll&lt;/strong&gt;:&lt;/p&gt;
&lt;pre class="code"&gt;&lt;span style="color: blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;handlers &lt;/span&gt;&lt;span style="color: red"&gt;accessPolicy&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;"&lt;span style="color: blue"&gt;Read, Script&lt;/span&gt;"&lt;span style="color: blue"&gt;&amp;gt;
  &lt;/span&gt;...
  &lt;span style="color: blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;add &lt;/span&gt;&lt;span style="color: red"&gt;name&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;"&lt;span style="color: blue"&gt;PageHandlerFactory-ISAPI-2.0&lt;/span&gt;"
       &lt;span style="color: red"&gt;path&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;"&lt;span style="color: blue"&gt;*.aspx&lt;/span&gt;" &lt;span style="color: red"&gt;verb&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;"&lt;span style="color: blue"&gt;GET,HEAD,POST,DEBUG&lt;/span&gt;"
       &lt;span style="color: red"&gt;modules&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;"&lt;span style="color: blue"&gt;IsapiModule&lt;/span&gt;"
       &lt;span style="color: red"&gt;scriptProcessor&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;"&lt;span style="color: blue"&gt;%windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll&lt;/span&gt;"
       &lt;span style="color: red"&gt;preCondition&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;"&lt;span style="color: blue"&gt;classicMode,runtimeVersionv2.0,bitness32&lt;/span&gt;" &lt;span style="color: red"&gt;responseBufferLimit&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;"&lt;span style="color: blue"&gt;0&lt;/span&gt;" &lt;span style="color: blue"&gt;/&amp;gt;
&lt;/span&gt;&lt;span style="color: blue"&gt;  &lt;/span&gt;...
&lt;span style="color: blue"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515"&gt;handlers&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;
&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;Notice the &lt;strong&gt;preCondition&lt;/strong&gt; attribute for the handler mapping. Among other things this attribute is set to &lt;strong&gt;classicMode&lt;/strong&gt;, which ensures that this handler mapping only takes effect when the application pool is configured to run in classic mode.&lt;/p&gt;
&lt;p&gt;Now if you want to configure wildcard mapping for the ASP.NET running in classic mode, you can add one more handler mapping to the &amp;lt;handlers&amp;gt; section just before the handler mapping for static files:&lt;/p&gt;
&lt;pre class="code"&gt;&lt;span style="color: blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;handlers &lt;/span&gt;&lt;span style="color: red"&gt;accessPolicy&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;"&lt;span style="color: blue"&gt;Read, Script&lt;/span&gt;"&lt;span style="color: blue"&gt;&amp;gt;
  &lt;/span&gt;...
  &lt;span style="color: blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;add &lt;/span&gt;&lt;span style="color: red"&gt;name&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;"&lt;span style="color: blue"&gt;ASP.NET-ISAPI-2.0-Wildcard&lt;/span&gt;"
     &lt;span style="color: red"&gt;path&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;"&lt;span style="color: blue"&gt;*&lt;/span&gt;" &lt;span style="color: red"&gt;verb&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;"&lt;span style="color: blue"&gt;GET,HEAD,POST,DEBUG&lt;/span&gt;"
     &lt;span style="color: red"&gt;modules&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;"&lt;span style="color: blue"&gt;IsapiModule&lt;/span&gt;"
     &lt;span style="color: red"&gt;scriptProcessor&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;"&lt;span style="color: blue"&gt;%windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll&lt;/span&gt;"
     &lt;span style="color: red"&gt;preCondition&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;"&lt;span style="color: blue"&gt;classicMode,runtimeVersionv2.0,bitness32&lt;/span&gt;" &lt;span style="color: red"&gt;responseBufferLimit&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;"&lt;span style="color: blue"&gt;0&lt;/span&gt;" &lt;span style="color: blue"&gt;/&amp;gt;
  &amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;add &lt;/span&gt;&lt;span style="color: red"&gt;name&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;"&lt;span style="color: blue"&gt;StaticFile&lt;/span&gt;"
     &lt;span style="color: red"&gt;path&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;"&lt;span style="color: blue"&gt;*&lt;/span&gt;" &lt;span style="color: red"&gt;verb&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;"&lt;span style="color: blue"&gt;*&lt;/span&gt;"
     &lt;span style="color: red"&gt;modules&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;"&lt;span style="color: blue"&gt;StaticFileModule,DefaultDocumentModule,DirectoryListingModule&lt;/span&gt;"
     &lt;span style="color: red"&gt;resourceType&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;"&lt;span style="color: blue"&gt;Either&lt;/span&gt;" &lt;span style="color: red"&gt;requireAccess&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;"&lt;span style="color: blue"&gt;Read&lt;/span&gt;" &lt;span style="color: blue"&gt;/&amp;gt;
&amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515"&gt;handlers&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;&lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;The relative order of the wildcard handler mapping is important: if you define this handler mapping after the &amp;#8220;StaticFile&amp;#8221; handler mapping then &amp;#8220;StaticFile&amp;#8221; will handle all the requests and no requests will ever come to ASP.NET wildcard handler.&lt;/p&gt;
&lt;p&gt;As you may already know the ASP.NET wildcard handler mapping in IIS 7 is subject to the same performance limitations as existed in IIS 6. The problem with this kind of handler mapping is that ALL requests are processed by it, including requests for static files. The ASP.NET static file handler is not as powerful as native IIS static file handler. Plus static files served by ASP.NET will not be cached by IIS in kernel mode. Because of these performance limitations it is recommended that you use IIS 7 integrated pipeline to achieve the same functionality as with wildcard mappings in IIS 6.&lt;/p&gt;
&lt;h3&gt;IIS 7 integrated pipeline instead of wildcard script mapping&lt;/h3&gt;
&lt;p&gt;With integrated pipeline, the ASP.NET functionality is fully integrated into the main request processing in IIS, which means that all ASP.NET features are now available for any type of requests. This effectively eliminates the need for the wildcard handler mapping. Now you can use your existing ASP.NET modules and have them applied to all requests.&lt;/p&gt;
&lt;p&gt;For example let&amp;#8217;s say you had a URL rewriting module written in ASP.NET. On IIS 6 this module was registered inside of the &amp;lt;system.web&amp;gt; section in web.config file as below:&lt;/p&gt;
&lt;pre class="code"&gt;&lt;span style="color: blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;system.Web&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;
  &amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;httpModules&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;
    &lt;/span&gt;...
    &lt;span style="color: blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;add &lt;/span&gt;&lt;span style="color: red"&gt;name&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;"&lt;span style="color: blue"&gt;MyUrlRewrite&lt;/span&gt;"
         &lt;span style="color: red"&gt;type&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;"&lt;span style="color: blue"&gt;SomeNamespace.MyModules.UrlRewrite, SomeNamespace.MyModules&lt;/span&gt;" &lt;span style="color: blue"&gt;/&amp;gt;
    &lt;/span&gt;...
  &lt;span style="color: blue"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515"&gt;httpModules&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;
&amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515"&gt;system.Web&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;&lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;&lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;Since on IIS 6 this module was only executed for requests to managed content, it only worked for URLs that had .aspx extension, such &lt;em&gt;as http://example.com/archive/2008/08/26/post-title.&lt;strong&gt;aspx&lt;/strong&gt;&lt;/em&gt;. If you wanted it to handle extension-less URLs you had to configure wildcard script mapping for ASP.NET. With IIS 7 integrated pipeline you do not have to do that anymore. In order to make this module apply to extension-less URLs you need to register it within the &amp;lt;system.webServer&amp;gt; section inside of web.config file as below:&lt;/p&gt;
&lt;pre class="code"&gt;&lt;span style="color: blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;system.webServer&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;
  &amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;modules &lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;
    &lt;/span&gt;...
    &lt;span style="color: blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;add &lt;/span&gt;&lt;span style="color: red"&gt;name&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;"&lt;span style="color: blue"&gt;MyUrlRewrite&lt;/span&gt;"
         &lt;span style="color: red"&gt;type&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;"&lt;span style="color: blue"&gt;SomeNamespace.MyModules.UrlRewrite, SomeNamespace.MyModules&lt;/span&gt;"
         &lt;span style="color: red"&gt;preCondition&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;"" &lt;span style="color: blue"&gt;/&amp;gt;
    &lt;/span&gt;...
  &lt;span style="color: blue"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515"&gt;modules&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;
&amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;system.webServer&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;Make sure that you leave the preCondition attribute empty here as it would enforce that the module will be executed for all requests, not just for requests for ASP.NET specific content. &lt;/p&gt;
&lt;p&gt;Registering your managed modules this way does not have such dramatic performance impact as when using wildcard script mappings. Even though the module is invoked for all requests to web application, all the existing handler mappings are still in effect, which means that the static files are still served by the native IIS static file handler. Another benefit of registering your module this way is that now it can be applied to requests for PHP, ASP or any other dynamic pages. You would not be able to do that if you used wildcard script mappings.&lt;/p&gt;
&lt;p&gt;One last thing to mention here is that you can also use the attribute on the &amp;lt;modules&amp;gt; section called &lt;strong&gt;runAllManagedModulesForAllRequests&lt;/strong&gt;.&lt;/p&gt;
&lt;pre class="code"&gt;&lt;span style="color: blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;system.webServer&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;
  &amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;modules &lt;/span&gt;&lt;span style="color: red"&gt;runAllManagedModulesForAllRequests&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;"&lt;span style="color: blue"&gt;True&lt;/span&gt;" &lt;span style="color: blue"&gt;&amp;gt;
    &lt;/span&gt;...
    &lt;span style="color: blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;add &lt;/span&gt;&lt;span style="color: red"&gt;name&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;"&lt;span style="color: blue"&gt;MyUrlRewrite&lt;/span&gt;"
         &lt;span style="color: red"&gt;type&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;"&lt;span style="color: blue"&gt;SomeNamespace.MyModules.UrlRewrite, SomeNamespace.MyModules&lt;/span&gt;"
         &lt;span style="color: red"&gt;preCondition&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;"&lt;span style="color: blue"&gt;ManagedHandler&lt;/span&gt;" &lt;span style="color: blue"&gt;/&amp;gt;
    &lt;/span&gt;...
  &lt;span style="color: blue"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515"&gt;modules&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;
&amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;system.webServer&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;&lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;This attributes forces IIS to ignore the preCondition=&amp;#8221;managedHandler&amp;#8221; attribute, hence all managed modules will be invoked for all requests to web application.&lt;/p&gt;
</description></item><item><title>Introduction</title><link>http://blogs.iis.net/ruslany/archive/2008/07/11/introduction.aspx</link><pubDate>Fri, 11 Jul 2008 05:29:11 GMT</pubDate><guid isPermaLink="false">50bcf3b4-f6fe-4638-adff-0c150e922e99:2611002</guid><dc:creator>Anonymous</dc:creator><cs:applicationKey>ruslany</cs:applicationKey><description>&lt;p&gt;My name is Ruslan Yakushev. I am a program manager on IIS team, working on some of the very interesting projects that are being developed in the team right now. I have joined the team about a year ago, and was thinking about starting a blog for a while now. The primary work responsibilities kept me busy, so I have been postponing blog idea for a while. Every time I needed to make an announcement or an update on IIS community site, I asked some of my colleagues  on the team to blog my content. Finally, I figured that I should probably start my own blog, so I could have all the freedom of publishing my own content any time I want.&lt;/p&gt;
&lt;p&gt;Being a technical program manager on the team, I like to use (in other words - &amp;#8220;dogfood&amp;#8221;) the products that team develops. Hence I decided to self-host my own blog by using latest version of IIS. Also, I have been working with &lt;a href="http://learn.iis.net/page.aspx/246/using-fastcgi-to-host-php-applications-on-iis7/" target="_blank"&gt;FastCGI&lt;/a&gt; and &lt;a href="http://www.iis.net/php" target="_blank"&gt;PHP&lt;/a&gt; for a while now, and became quite familiar with many popular &lt;a href="http://learn.iis.net/page.aspx/271/php-applications-on-iis/" target="_blank"&gt;PHP applications&lt;/a&gt;. As a result I chose to run my blog by using latest version of &lt;a href="http://wordpress.org/" target="_blank"&gt;WordPress&lt;/a&gt;, which is a very nice and easy to use blog engine application. Finally, I am using my favorite feature of IIS 7.0 - &lt;a href="http://learn.iis.net/page.aspx/460/using-url-rewrite-module/" target="_blank"&gt;URL rewriter&lt;/a&gt; - to enable &amp;#8220;&lt;a href="http://learn.iis.net/page.aspx/466/enabling-pretty-permalinks-in-wordpress/" target="_blank"&gt;pretty permalinks&lt;/a&gt;&amp;#8221; on my blog.&lt;/p&gt;
&lt;p&gt;I plan to use this blog to publish information related to FastCGI, PHP, URL rewriter and IIS in general. I hope you&amp;#8217;ll find this content useful.&lt;/p&gt;
</description></item><item><title>Leaving Microsoft ...</title><link>http://blogs.iis.net/mvolo/archive/2008/05/14/Leaving-Microsoft.aspx</link><pubDate>Wed, 14 May 2008 23:29:00 GMT</pubDate><guid isPermaLink="false">50bcf3b4-f6fe-4638-adff-0c150e922e99:2358539</guid><dc:creator>mvolo</dc:creator><cs:applicationKey>mvolo</cs:applicationKey><description>&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT face=Calibri size=3&gt;After almost 5 years at the company, I am both sad and excited to say that I’ll be leaving the IIS team and Microsoft at the end of this week.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT face=Calibri size=3&gt;I’ve spent the past 4 years living and breathing IIS 7.0, from its inception, to the Vista release, and the final debut in Windows Server 2008. During most of this time, I was heads down in designing and driving the development of the product, with little opportunity to see the impact it will have in the outside world.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT face=Calibri size=3&gt;Now that IIS 7.0 is ready, I feel it’s the right time to shift perspectives, and focus on leveraging it to make that impact.&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;The more I learn about the problems customers solve in the wild, the more I realize how much work there still is to truly “unleash the potential” of the web server (thankfully, this is exactly what we wanted to enable through the end-to-end extensibility architecture of IIS 7.0). So, I will be leaving to help customers make the most of IIS 7.0, and start a few projects around web server performance, shared hosting and scalable web farms.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;A href="http://mvolo.com/blogs/serverside/archive/2008/02/28/IIS-7.0-ships_3A00_-a-trip-down-memory-lane.aspx"&gt;&lt;FONT face=Calibri size=3&gt;Looking back&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Calibri size=3&gt;, I can say that my experience at Microsoft has been truly amazing. I got to ship two amazing products, ASP.NET 2.0, and IIS 7.0.&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;I got to do what I love to do – design and build platform technology. Here are some of things I’ve owned:&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpFirst style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.25in"&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;FONT face=Calibri size=3&gt;1.&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;ASP.NET 2.0 core infrastructure: designing and driving literally hundreds of features and improvements for the ASP.NET 2.0 runtime, and platform features like security, session state, caching, health monitoring, tracing, etc. Back then I was on the free nights/weekends work plan :)&lt;/FONT&gt;&lt;FONT face=Calibri&gt;.&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpMiddle style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.25in"&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;FONT face=Calibri size=3&gt;2.&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Calibri size=3&gt;Driving ASP.NET 2.0 security, and delaying the security push by 2 weeks to personally threat model 3/4ths of the product.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpMiddle style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.25in"&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;FONT face=Calibri size=3&gt;3.&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Calibri size=3&gt;Designing and driving the IIS 7.0 core web server engine, &lt;/FONT&gt;&lt;A href="http://msdn.microsoft.com/msdnmag/issues/08/LA/ExtendingIIS7/default.aspx"&gt;&lt;FONT face=Calibri color=#0000ff size=3&gt;extensibility layer&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Calibri size=3&gt;, and core features &lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpMiddle style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.25in"&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;FONT face=Calibri size=3&gt;4.&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Calibri size=3&gt;IIS 7.0’s &lt;/FONT&gt;&lt;A href="http://mvolo.com/blogs/serverside/archive/2006/11/17/Before-the-flight_3A00_-Native-Output-Cache_2C00_-PHP-and-FastCGI_2C00_-and-other-stuff.aspx"&gt;&lt;FONT face=Calibri size=3&gt;output cache&lt;/FONT&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpMiddle style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.25in"&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;FONT face=Calibri size=3&gt;5.&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Calibri size=3&gt;The never-ending story of making the &lt;/FONT&gt;&lt;A href="http://mvolo.com/blogs/serverside/archive/2007/12/20/MSDN-Magazine_3A00_-Enhance-Your-Applications-with-ASP.NET-Integrated-Pipeline.aspx"&gt;&lt;FONT face=Calibri size=3&gt;ASP.NET Integrated pipeline&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Calibri size=3&gt; happen&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpMiddle style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.25in"&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;FONT face=Calibri size=3&gt;6.&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;A href="http://mvolo.com/blogs/serverside/archive/2006/09/29/Making-PHP-rock-on-Windows_2F00_IIS.aspx"&gt;&lt;FONT face=Calibri size=3&gt;FastCGI and PHP integration&lt;/FONT&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpMiddle style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.25in"&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;FONT face=Calibri size=3&gt;7.&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Calibri size=3&gt;Being the trinity (dev, pm, and test) for &lt;/FONT&gt;&lt;A href="http://mvolo.com/blogs/serverside/archive/2007/03/18/Most-Important-AppCmd-Commands.aspx"&gt;&lt;FONT face=Calibri size=3&gt;AppCmd&lt;/FONT&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpMiddle style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.25in"&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;FONT face=Calibri size=3&gt;8.&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;A href="http://mvolo.com/blogs/serverside/archive/2008/03/16/IIS-7.0-Bit_2D00_rate-throttling-module.aspx"&gt;&lt;FONT face=Calibri size=3&gt;Bitrate throttling&lt;/FONT&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpMiddle style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.25in"&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;FONT face=Calibri size=3&gt;9.&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Calibri size=3&gt;Happiest moment: standing ovation at the TechEd 2005 demo of showing a completely stripped-down IIS 7.0 web server.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpLast style="MARGIN: 0in 0in 10pt 0.5in; TEXT-INDENT: -0.25in"&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;FONT face=Calibri size=3&gt;10.&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Calibri size=3&gt;Most embarrassing moment: “HTTP service failed to start” during my first demo at the breakout PDC session on IIS 7.0 (when the BITS service randomly decided to corrupt its SSL binding, after a dozen of successful test runs the night before)&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT face=Calibri size=3&gt;Between my core areas, side projects, and random work, I got to do pretty much everything else in the process: work on the IIS 7.0 config system, write code, do performance testing, drive product-wide compatibility analysis, write the &lt;/FONT&gt;&lt;A href="http://mvolo.com/blogs/serverside/archive/2008/05/01/The-IIS-7.0-Resource-Kit-Book.aspx"&gt;&lt;FONT face=Calibri size=3&gt;IIS 7.0 Resource Kit book&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Calibri size=3&gt;, present at TechEd and PDC, &lt;/FONT&gt;&lt;A href="http://www.mvolo.com/"&gt;&lt;FONT face=Calibri size=3&gt;blog&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Calibri size=3&gt;, and write &lt;/FONT&gt;&lt;A href="http://msdn.microsoft.com/en-us/magazine/cc301273.aspx"&gt;&lt;FONT face=Calibri size=3&gt;articles&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Calibri size=3&gt;. &lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT face=Calibri size=3&gt;Even more importantly, I got to work with some of the most talented people I have ever met, from whom I learned a great deal and without whom IIS 7.0 would not have been possible.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT face=Calibri size=3&gt;So, I definitely feel like I am not leaving empty-handed. I will really miss the team and the people, and will be keeping in touch. I look forward to using all the new great out of band features that the team is building to help make the IIS 7.0 platform the best web server in the world. Also, you can count on me continuing to blog about using and extending IIS 7.0.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT face=Calibri size=3&gt;I’ll be posting more info on &lt;/FONT&gt;&lt;A href="http://www.mvolo.com/"&gt;&lt;FONT face=Calibri size=3&gt;www.mvolo.com&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Calibri size=3&gt; next week. In the meantime, if you need help on an IIS 7.0&amp;nbsp; project, let me know.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT face=Calibri size=3&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT face=Calibri size=3&gt;Sincerely,&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 11pt; LINE-HEIGHT: 115%; FONT-FAMILY: 'Calibri','sans-serif'"&gt;Mike (mvolo) Volodarsky&lt;/SPAN&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;</description></item><item><title>IIS 7.0 is finished: a trip down memory lane</title><link>http://blogs.iis.net/mvolo/archive/2008/02/28/iis-7-0-is-finished-a-trip-down-memory-lane.aspx</link><pubDate>Fri, 29 Feb 2008 03:35:00 GMT</pubDate><guid isPermaLink="false">50bcf3b4-f6fe-4638-adff-0c150e922e99:2203057</guid><dc:creator>mvolo</dc:creator><cs:applicationKey>mvolo</cs:applicationKey><description>&lt;P&gt;After 5 years in development, &lt;A href="http://blogs.iis.net/bills/archive/2008/02/27/windows-2008-and-iis7-now-available.aspx"&gt;IIS 7.0 is finished&lt;/A&gt;!&lt;/P&gt;
&lt;P&gt;Personally, it is hard to believe that it is over. I remember joining the IIS 7.0 team over 4 years ago, when the project was in its infancy, to drive the design of the web server engine. I remember getting in the room with all of the senior IIS 7.0 developers, with a spec of how the web server pipeline was going to work … feeling like I was about to be eaten alive&amp;nbsp;:) &lt;/P&gt;
&lt;P&gt;More reflections at &lt;A href="http://mvolo.com/blogs/serverside/archive/2008/02/28/IIS-7.0-ships_3A00_-a-trip-down-memory-lane.aspx"&gt;http://mvolo.com/blogs/serverside/archive/2008/02/28/IIS-7.0-ships_3A00_-a-trip-down-memory-lane.aspx&lt;/A&gt;.&lt;/P&gt;</description></item><item><title>Mvolo.com is back!</title><link>http://blogs.iis.net/mvolo/archive/2007/09/24/mvolo-com-is-back.aspx</link><pubDate>Mon, 24 Sep 2007 04:01:00 GMT</pubDate><guid isPermaLink="false">50bcf3b4-f6fe-4638-adff-0c150e922e99:1922968</guid><dc:creator>mvolo</dc:creator><cs:applicationKey>mvolo</cs:applicationKey><description>&lt;P&gt;After several weeks of move-related outages, mvolo.com is back online at its new home at MaximumASP.&lt;BR&gt;&lt;BR&gt;The server ran Windows Server 2008 beta 3 for 5+ months in my friend's garage without a single reboot, while the only access I had to it was through the blog's publishing interface.&amp;nbsp; The new specs are orders of magnitude better than what I had before, so I am pretty excited to see the improvements in responsiveness.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Read more at &lt;A href="http://mvolo.com/blogs/serverside/archive/2007/09/23/Mvolo.com-is-back_2100_.aspx" mce_href="http://mvolo.com/blogs/serverside/archive/2007/09/23/Mvolo.com-is-back_2100_.aspx"&gt;http://mvolo.com/blogs/serverside/archive/2007/09/23/Mvolo.com-is-back_2100_.aspx&lt;/A&gt;.&lt;/P&gt;</description></item><item><title>Temporary mvolo.com outages</title><link>http://blogs.iis.net/mvolo/archive/2007/09/13/temporary-mvolo-com-outages.aspx</link><pubDate>Fri, 14 Sep 2007 01:45:00 GMT</pubDate><guid isPermaLink="false">50bcf3b4-f6fe-4638-adff-0c150e922e99:1908326</guid><dc:creator>mvolo</dc:creator><cs:applicationKey>mvolo</cs:applicationKey><description>&lt;P&gt;You may have noticed &lt;A class="" href="http://mvolo.com/" mce_href="http://mvolo.com"&gt;mvolo.com&lt;/A&gt; being unavailable at certain points over the past two days.&amp;nbsp; I am in the process of moving the server across the country, and that combined with certain other toubles with the internet setup is contributing to spotty availability.&lt;/P&gt;
&lt;P&gt;Next week the server will find its new permanent home so it will start being available 24/7 once again.&lt;/P&gt;
&lt;P&gt;In&amp;nbsp;the meantime, sorry for the inconvinience.&amp;nbsp; Do check back soon as there are A LOT of exciting news and new stuff coming your way next week.&lt;/P&gt;
&lt;P&gt;Thanks,&lt;/P&gt;
&lt;P&gt;Mike&lt;/P&gt;</description></item><item><title>A look at the IIS7 web server in MSDN magazine</title><link>http://blogs.iis.net/mvolo/archive/2007/02/14/a-look-at-the-iis7-web-server-in-msdn-magazine.aspx</link><pubDate>Thu, 15 Feb 2007 02:54:00 GMT</pubDate><guid isPermaLink="false">50bcf3b4-f6fe-4638-adff-0c150e922e99:1579438</guid><dc:creator>mvolo</dc:creator><cs:applicationKey>mvolo</cs:applicationKey><description>The march edition of MSDN magazine is live, containing my article about the IIS7 web server in Windows Vista. The article is an overview of the many features and architectural changes in IIS7, that hopefully will point people towards the specific things that they want to learn more about and try.&lt;BR&gt;&lt;BR&gt;Read more on &lt;A href="http://mvolo.com/blogs/serverside/archive/2007/02/14/A-look-at-the-IIS7-web-server-in-MSDN-magazine.aspx"&gt;http://mvolo.com/blogs/serverside/archive/2007/02/14/A-look-at-the-IIS7-web-server-in-MSDN-magazine.aspx&lt;/A&gt;.</description></item></channel></rss>