<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Jeff Wilcox &#187; Web Servers</title>
	<atom:link href="http://www.jeff.wilcox.name/topics/webservers/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.jeff.wilcox.name</link>
	<description>Silverlight, rich client apps and web development</description>
	<lastBuildDate>Mon, 26 Jul 2010 17:56:55 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>&#8217;09 blog housekeeping &amp; thanks</title>
		<link>http://www.jeff.wilcox.name/2009/01/housekeeping-2009/</link>
		<comments>http://www.jeff.wilcox.name/2009/01/housekeeping-2009/#comments</comments>
		<pubDate>Sat, 03 Jan 2009 22:17:07 +0000</pubDate>
		<dc:creator>Jeff Wilcox</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[Web Servers]]></category>

		<guid isPermaLink="false">http://www.jeff.wilcox.name/2009/01/housekeeping-2009/</guid>
		<description><![CDATA[I hope that you&#8217;ve had an excellent new year; I&#8217;m pretty excited for what is in store for the next twelve months. Here&#8217;s some general notes &#38; blog information. Last year we took Silverlight from a simple plugin &#38; a brand name to a complete platform powered by .NET. With a tough economy, the pressure [...]]]></description>
			<content:encoded><![CDATA[<p>I hope that you&#8217;ve had an excellent new year; I&#8217;m pretty excited for what is in store for the next twelve months. Here&#8217;s some general notes &amp; blog information.</p>
<p>Last year we took Silverlight from a simple plugin &amp; a brand name to a complete platform powered by .NET.</p>
<p>With a tough economy, the pressure is on to actually deliver value and make sound investments, and the open source work that we&#8217;re doing at Microsoft on the <a href="http://www.codeplex.com/Silverlight">Silverlight Toolkit</a> definitely is a good value.</p>
<p>I&#8217;d also like to take a minute to thank the thousands of subscribers and site visitors. I always <a href="http://www.jeff.wilcox.name/about/contact/">welcome your feedback</a> and post suggestions.</p>
<h3>Jeff Wilcox&#8217;s RSS feeds</h3>
<p>Last year I delivered a large set of tutorials, Silverlight guides, and overall I&#8217;m very happy with the content. I&#8217;d like to take this chance to present three key RSS feeds for my blog, in case you&#8217;re doing some RSS reader housekeeping.</p>
<p><strong>Recent posts RSS: <img src="http://www.jeff.wilcox.name/icons/feed-icon-14x14.png" /> <a title="http://feeds.feedburner.com/JeffWilcox/" href="http://feeds.feedburner.com/JeffWilcox/">http://feeds.feedburner.com/JeffWilcox/</a>&#160;</strong></p>
<p><strong>Silverlight-only RSS: <img src="http://www.jeff.wilcox.name/icons/feed-icon-14x14.png" />&#160;<a title="http://feeds.feedburner.com/JeffWilcox/Silverlight/" href="http://feeds.feedburner.com/JeffWilcox/Silverlight/">http://feeds.feedburner.com/JeffWilcox/Silverlight/</a>&#160;</strong>    <br />This is the RSS feed that is syndicated on the <a href="http://www.silverlight.net/">http://www.silverlight.net/</a> homepage and <a href="http://silverlight.net/blogs/microsoft/rss.aspx">this Microsoft feed</a>. This is a good subscription choice if you&#8217;re less interested in other technologies and topics (Apache, PHP, Seattle weather, you name it)</p>
<p><strong>Recent comments RSS: <img src="http://www.jeff.wilcox.name/icons/feed-icon-14x14.png" />&#160;<a title="http://www.jeff.wilcox.name/comments/feed/" href="http://www.jeff.wilcox.name/comments/feed/">http://www.jeff.wilcox.name/comments/feed/</a>&#160;</strong></p>
<p><strong>Silverlight Toolkit team RSS: <img src="http://www.jeff.wilcox.name/icons/feed-icon-14x14.png" />&#160;<a title="http://feeds.feedburner.com/SilverlightToolkitTeamMembersBlogFeeds" href="http://feeds.feedburner.com/SilverlightToolkitTeamMembersBlogFeeds/">http://feeds.feedburner.com/SilverlightToolkitTeamMembersBlogFeeds/</a>&#160; </strong></p>
<h3>Site updates</h3>
<p>If you visit my web site, <a href="http://www.jeff.wilcox.name/">http://www.jeff.wilcox.name/</a>, or click through to individual blog posts, you&#8217;ll notice that I spent some time in the month of December to refresh the visual design, styles, and functionality of my site and blog.</p>
<p>The pages have a true #fff white background now, archive pages and other pages list more topics, have excerpts, and the blog remains advertising-free.</p>
</p>
<h3>Best way to deliver code snippets in blog postings?</h3>
<p>Back in May, <a href="http://www.jeff.wilcox.name/2008/05/blog-syntax/">I announced</a> that I was moving from screen captured code to JavaScript-enhanced post &lt;pre /&gt; content.</p>
<p>I&#8217;d appreciate it if you could share any comments on the format, I&#8217;m open to spending some time changing the process again. The experience today is a simple &lt;pre /&gt; text block for RSS readers, and when viewing the actual post web page, JavaScript powers value add (syntax highlighting, additional options, clipboard features).</p>
<h3>Disclaimer reminder</h3>
<p>Just a reminder to those that subscribe to these feed: as reproduced on all blog and site pages: <em>&quot;The content on this site represents my own personal opinions and thoughts at the time of posting, and does not reflect those of my employer in any way.&quot;</em></p>
<h3>Powered by&#8230;</h3>
<p> Finally, thanks go to <a href="http://wordpress.org/">WordPress</a>, the best web publishing platform out there. The recent upgrade to WordPress 2.7 went great, and the product just continues to improve.
<p>This blog is powered by:</p>
<ul>
<li><a href="http://www.wordpress.org/">WordPress 2.7</a></li>
<li>LAMP stack; <a href="http://php.net/">PHP 5</a>, <a href="http://www.mysql.com/">MySql</a>, dedicated Linux server hosting by <a href="http://www.serverbeach.com/">ServerBeach</a></li>
</ul>
<p>And produced using:</p>
<ul>
<li>Microsoft <a href="http://www.windowslive.com/Desktop/Writer">Windows Live Writer</a></li>
<li><a href="http://www.adobe.com/products/creativesuite/web/?promoid=121DJGTB_P_US_FP2_WP_CS4_MN&amp;tt=P_US_FP2_WP_CS4_MN">Adobe Creative Suite 4 Web Premium</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.jeff.wilcox.name/2009/01/housekeeping-2009/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Successful .Xap deployment with your CDN: Set the application/x-silverlight-app MIME type</title>
		<link>http://www.jeff.wilcox.name/2008/11/xap-mime-type/</link>
		<comments>http://www.jeff.wilcox.name/2008/11/xap-mime-type/#comments</comments>
		<pubDate>Sat, 01 Nov 2008 23:16:37 +0000</pubDate>
		<dc:creator>Jeff Wilcox</dc:creator>
				<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Silverlight]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[Web Servers]]></category>

		<guid isPermaLink="false">http://www.jeff.wilcox.name/2008/11/01/xap-mime-type/</guid>
		<description><![CDATA[If you host XAP files on a CDN or other host (such as Amazon S3), you need to have the server configured with the new Silverlight MIME type. You can find out specifics in the breaking changes reference. When you do not need to configure the MIME type: If your .Xap files and web pages [...]]]></description>
			<content:encoded><![CDATA[<p>If you host XAP files on a CDN or other host (such as Amazon S3), you need to have the server configured with the new Silverlight MIME type. You can find out specifics in the <a href="http://msdn.microsoft.com/en-us/library/cc645049(VS.95).aspx">breaking changes</a> reference.</p>
<p>When you do not need to configure the MIME type:</p>
<ul>
<li>If your .Xap files and web pages are on the same domain and do not need to be embedded elsewhere  </li>
<li>If you use a service like Silverlight Streaming and just embed &lt;iframe /&gt; tags in your web site</li>
</ul>
<p>But, if you want to share or enable embedding for others, you need to add the &#8220;application/x-silverlight-app&#8221; MIME type for your .Xap files.</p>
<p>This will allow:</p>
<ul>
<li>You to host your application binaries with a CDN  </li>
<li>Others to embed your applications in their pages and sites  </li>
<li>Bloggers to embed Silverlight &lt;object /&gt; tags right in their content and let syndication services and news readers embed the content</li>
</ul>
<p>Equally important, if you don&#8217;t want others to directly link to and reference your .Xap from their domains, then make sure to not send this mime type.</p>
<p><strong>Apache</strong><br />For global configuration, in your central mime.types file, add:</p>
<blockquote><p># Enable Silverlight support for our apps to be embedded anywhere<br />application/x-silverlight-app&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; xap</p>
</blockquote>
<p>Then restart Apache:</p>
<blockquote><p>$ sudo ./apachectl restart</p>
</blockquote>
<p>If you&#8217;re just configuring at the directory level, edit or add the .htaccess file in the directory you want to serve anywhere, and add the line:</p>
<blockquote><p>AddType application/x-silverlight-app xap</p>
</blockquote>
<p><strong>IIS 6 &amp; 7<br /></strong>Here&#8217;s a nice <a href="http://learn.iis.net/page.aspx/262/silverlight/">step-by-step guide to adding the MIME</a> type on Windows web servers.</p>
<p><strong>Amazon S3<br /></strong>Maybe not a true CDN, I do use Amazon&#8217;s Simple Storage Service (S3) for most of my Silverlight application hosting.</p>
<p>Amazon S3 records the MIME type that your S3 client sends with each file upload. This means that you <u>must</u> configure your system with the appropriate &#8220;application/x-silverlight-app&#8221; MIME type <strong>when you upload</strong>, or when clients download your .Xap, they will get an unknown MIME type and be greeted with blank space where you&#8217;d expect your app to be working.</p>
<p><strong>Your CDN</strong><br />I do not know the current <a href="http://www.limelightnetworks.com/">Limelight</a> or <a href="http://www.akamai.com/">Akamai</a> stories, sorry! Feel free to post a comment if you know.</p>
<h3>Use Fiddler to check</h3>
<p>I&#8217;d highly recommend that you download and use <a href="http://www.fiddler2.com/Fiddler2/version.asp">Fiddler2</a> on your Windows system. Using it, you can make sure and see what the content type is when it comes back in an HTTP response.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jeff.wilcox.name/2008/11/xap-mime-type/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Debugging managed Silverlight applications on a web server: Make sure that PDB can be served!</title>
		<link>http://www.jeff.wilcox.name/2007/08/silverlight-debugging-pdb-reminder/</link>
		<comments>http://www.jeff.wilcox.name/2007/08/silverlight-debugging-pdb-reminder/#comments</comments>
		<pubDate>Sat, 18 Aug 2007 06:24:41 +0000</pubDate>
		<dc:creator>Jeff Wilcox</dc:creator>
				<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Silverlight]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[Web Servers]]></category>
		<category><![CDATA[IIS]]></category>

		<guid isPermaLink="false">http://linux.jeff.wilcox.name/2007/08/17/silverlight-debugging-pdb-reminder/</guid>
		<description><![CDATA[[RAW] A common question I’m asked is “Why can I debug fine in Visual Studio 2008, but not once I’ve copied my assembly and debug symbol to my web server?”&#160; The answer is most likely that your web server isn’t serving debug symbol files (*.pdb). If you’re using a Linux web host, you shouldn’t need [...]]]></description>
			<content:encoded><![CDATA[<p>[RAW]<br />
<P>A common question I’m asked is “Why can I debug fine in Visual Studio 2008, but not once I’ve copied my assembly and debug symbol to my web server?”&nbsp; The answer is most likely that your web server isn’t serving debug symbol files (*.pdb).</P></p>
<p><P>If you’re using a Linux web host, you shouldn’t need to make any changes—Apache typically comes preconfigured to serve pdb’s without issue.&nbsp; So this is a post for Windows web server users.</P></p>
<p><P>I’ve covered some of this before, but hey here’s the “with pictures” version for adding the MIME entry on an IIS 7.0 machine (either running Vista or Windows Server 2008).</P></p>
<p><H2>First, verify the issue is that the PDB cannot be served</H2><br />
<P>On the local web server, request the debug symbol file (pdb) for your assembly and see if you’re offered to download it, or provided with an error message.&nbsp; An HTTP 404.3 message indicates that the MIME type is restricted and cannot be deleted.</P></p>
<p><P><IMG title="What you see when IIS denies a PDB file" style="WIDTH: 540px; HEIGHT: 429px" height=429 alt="What you see when IIS denies a PDB file" src="http://media.jeff.wilcox.name/blog/view/silverlight/IIS4043.jpg" width=540 border=0 mce_src="http://media.jeff.wilcox.name/blog/view/silverlight/IIS4043.jpg"><BR><EM>Note: You will only see this error when you&#8217;re requesting localhost I believe&#8230; otherwise its a truncated message.</EM></P></p>
<p><P>If you can’t get debugging going, but PDBs are being served fine, unfortunately this post won’t help you—but do leave a message and I’ll look into your problem.</P></p>
<p><H2>Second, add the MIME type</H2><br />
<UL><br />
<LI>Start InetMgr</LI></p>
<p><LI>Select the level within your machine and the web services that are running to add the MIME type to.&nbsp; I’d recommend adding this at the machine level (click on your machine name, in my case JWMACBOOKPRO) instead of to an individual web site if possible.</LI></p>
<p><LI>Double-click on the MIME types feature entry in the main content pane.<BR><IMG title="Adding the PDB MIME type" style="WIDTH: 540px; HEIGHT: 426px" height=426 alt="Adding the PDB MIME type" src="http://media.jeff.wilcox.name/blog/view/silverlight/AddMime.jpg" width=540 border=0 mce_src="http://media.jeff.wilcox.name/blog/view/silverlight/AddMime.jpg"></LI></p>
<p><LI>Verify that the “pdb” MIME type is not listed</LI></p>
<p><LI>Click “Add” under the Actions menu (far right corner of the screen)</LI></p>
<p><LI>In the form&#8230; extension “pdb”, and I typically use “application/octet-stream” for the MIME type</LI></p>
<p><LI>Click Ok and you should be good to go!&nbsp; Re-request the file and see if its served to you!&nbsp; You might want to reset the web server process just to be sure also.</LI><br />
</UL></p>
<p><P>Hope this helps!</P></p>
<p>[/RAW]</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jeff.wilcox.name/2007/08/silverlight-debugging-pdb-reminder/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Perform a full IIS 7 + ASP.NET install from the command prompt</title>
		<link>http://www.jeff.wilcox.name/2007/01/aspnet-full-iis7-install/</link>
		<comments>http://www.jeff.wilcox.name/2007/01/aspnet-full-iis7-install/#comments</comments>
		<pubDate>Mon, 29 Jan 2007 17:52:43 +0000</pubDate>
		<dc:creator>Jeff Wilcox</dc:creator>
				<category><![CDATA[ASP.NET]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Vista]]></category>
		<category><![CDATA[Web Servers]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[IIS]]></category>
		<category><![CDATA[Windows Vista]]></category>

		<guid isPermaLink="false">http://linux.jeff.wilcox.name/2007/01/29/aspnet-full-iis7-install/</guid>
		<description><![CDATA[[RAW] If you have a need to install the full version of IIS 7.0 (all features, options, and modules—including ASP.NET 2.0), you can do this from the command line using the new Package Manager tool as an alternative to the Add/Remove Windows Features interface. Simply execute the following from an elevated command prompt (it will [...]]]></description>
			<content:encoded><![CDATA[<p>[RAW]<br />
<P>If you have a need to install the full version of IIS 7.0 (all features, options, and modules—including ASP.NET 2.0), you can do this from the command line using the new Package Manager tool as an alternative to the Add/Remove Windows Features interface.</P></p>
<p><P>Simply execute the following from an elevated command prompt (it will also output a log file, that&#8217;s an optional parameter only):</P></p>
<p><P><TT>start /w %windir%\system32\pkgmgr.exe /l:logStep.etw /iu:IIS-WebServerRole;IIS-WebServer;IIS-CommonHttpFeatures;IIS-StaticContent;IIS-DefaultDocument;IIS-DirectoryBrowsing;IIS-HttpErrors;IIS-HttpRedirect;IIS-ApplicationDevelopment;IIS-ASPNET;IIS-NetFxExtensibility;IIS-ASP;IIS-CGI;IIS-ISAPIExtensions;IIS-ISAPIFilter;IIS-ServerSideIncludes;IIS-HealthAndDiagnostics;IIS-HttpLogging;IIS-LoggingLibraries;IIS-RequestMonitor;IIS-HttpTracing;IIS-CustomLogging;IIS-ODBCLogging;IIS-Security;IIS-BasicAuthentication;IIS-WindowsAuthentication;IIS-DigestAuthentication;IIS-ClientCertificateMappingAuthentication;IIS-IISCertificateMappingAuthentication;IIS-URLAuthorization;IIS-RequestFiltering;IIS-IPSecurity;IIS-Performance;IIS-HttpCompressionStatic;IIS-HttpCompressionDynamic;IIS-WebServerManagementTools;IIS-ManagementConsole;IIS-ManagementScriptingTools;IIS-ManagementService;IIS-IIS6ManagementCompatibility;IIS-Metabase;IIS-WMICompatibility;IIS-LegacyScripts;IIS-LegacySnapIn;IIS-FTPPublishingService;IIS-FTPServer;IIS-FTPManagement;WAS-WindowsActivationService;WAS-ProcessModel;WAS-NetFxEnvironment;WAS-ConfigurationAPI</TT></P></p>
<p><P>This should work with Windows Vista Business, Enterprise, and Ultimate SKUs.&nbsp; On x64 machines, you’ll want to make sure to execute this from an elevated 64-bit command prompt.</P></p>
<p><P>Background:<BR>A useful new feature of IIS 7 is its componentization; if you don’t need a particular feature of the server, such as CGI, simply exclude it.</P></p>
<p><P>Often while performing testing or preparing a development workstation, using pkgmgr.exe can save a little time if you’re looking for all the features.&nbsp; You can also modify the parameters to leave off specific features.</P></p>
<p><P>Update:<BR>Looks like there&#8217;s finally a document on this at the IIS web site as well, so if you&#8217;re using Home Premium or want to learn more about pkgmgr.exe, check out the article at <A href="http://www.iis.net/default.aspx?tabid=2&amp;subtabid=25&amp;i=958" mce_href="http://www.iis.net/default.aspx?tabid=2&amp;subtabid=25&amp;i=958">http://www.iis.net/default.aspx?tabid=2&amp;subtabid=25&amp;i=958</A>.</P></p>
<p>[/RAW]</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jeff.wilcox.name/2007/01/aspnet-full-iis7-install/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Upgrading ASP.NET Applications to the Integrated Pipeline</title>
		<link>http://www.jeff.wilcox.name/2006/12/aspnet-upgraging-pipeline-mode/</link>
		<comments>http://www.jeff.wilcox.name/2006/12/aspnet-upgraging-pipeline-mode/#comments</comments>
		<pubDate>Tue, 12 Dec 2006 04:51:55 +0000</pubDate>
		<dc:creator>Jeff Wilcox</dc:creator>
				<category><![CDATA[ASP.NET]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Vista]]></category>
		<category><![CDATA[Web Servers]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[IIS]]></category>
		<category><![CDATA[Windows Vista]]></category>

		<guid isPermaLink="false">http://linux.jeff.wilcox.name/2006/12/11/aspnet-upgraging-pipeline-mode/</guid>
		<description><![CDATA[[RAW] There&#8217;s a helpful article at the IIS.NET site detailing a lot of what it means to upgrade your developer workstation to Vista, what changes IIS 7.0 brings, and ASP.NET application compatibility.&#160; Direct link to the article. The most important content in this article, in my opinion, is that which outlines the specific ASP.NET changes. [...]]]></description>
			<content:encoded><![CDATA[<p>[RAW]<br />
<P>There&#8217;s a <A class="" href="http://www.iis.net/default.aspx?tabid=2&amp;subtabid=25&amp;i=1223&amp;p=1" mce_href="http://www.iis.net/default.aspx?tabid=2&amp;subtabid=25&amp;i=1223&amp;p=1">helpful article</A> at the IIS.NET site detailing a lot of what it means to upgrade your developer workstation to Vista, what changes IIS 7.0 brings, and ASP.NET application compatibility.&nbsp; <A class="" href="http://www.iis.net/default.aspx?tabid=2&amp;subtabid=25&amp;i=1223&amp;p=1" mce_href="http://www.iis.net/default.aspx?tabid=2&amp;subtabid=25&amp;i=1223&amp;p=1">Direct link to the article.</A></P></p>
<p><P>The most important content in this article, in my opinion, is that which <A class="" href="http://www.iis.net/default.aspx?tabid=2&amp;subtabid=25&amp;i=1223&amp;p=5" mce_href="http://www.iis.net/default.aspx?tabid=2&amp;subtabid=25&amp;i=1223&amp;p=5">outlines the specific ASP.NET changes</A>.</P></p>
<p><P>Here is the list of known changes with IIS 7.0 at this time:</P></p>
<p><UL><br />
<LI>In Integrated mode, Application_OnError is not called for exceptions that occur in HttpApplication::Init</LI></p>
<p><LI>Server.ClearError in EndRequest does not clear exception message in Integrated mode</LI></p>
<p><LI>Integrated mode applications may write to a response in EndRequest after an exception has been formatted and written to the response</LI></p>
<p><LI>In Integrated mode, ASP.NET no longer suppresses the content type when the response is empty</LI></p>
<p><LI>Different windows identity in Forms authentication</LI></p>
<p><LI>Default Authentication_OnAuthenticate event does not raise in Integrated mode</LI></p>
<p><LI>In Integrated mode Request.RawUrl contains the new query string after RewritePath is called</LI></p>
<p><LI>Passport Network credentials authentication is not supported in Windows Vista</LI></p>
<p><LI>PassportAuthentication module is not part of the Integrated pipeline</LI></p>
<p><LI>Large, valid forms auth tickets (length &lt;= 4096 bytes) present in the query string are rejected by IIS 7.0</LI></p>
<p><LI>In Integrated mode, the ASP.NET request time-out is applied multiple times during the request, allowing the request to execute longer</LI></p>
<p><LI>Trace settings are not transferred to Server.Transfer target page</LI></p>
<p><LI>The method Httpcontext.Current.Response.Write() cannot work in Application_Onstart()</LI></p>
<p><LI>HttpRequest.LogonUserIdentity throws an exception when accessed before PostAuthenticateRequest</LI></p>
<p><LI>In Integrated mode, ASP.NET modules will receive the first unauthenticated request to IIS when Anonymous authentication is disabled</LI></p>
<p><LI>ASP.NET cannot impersonate the client identity until PostAuthenticateRequest</LI></p>
<p><LI>Content-Type header is not generated when charset and content type are set to empty string</LI></p>
<p><LI>In Integrated mode, both synchronous and asynchronous events raise for each module before the next module executes</LI></p>
<p><LI>Response headers are removed in Integrated mode after calling ClearHeader in a custom IHttpModule</LI></p>
<p><LI>Using Windows and Forms authentication together in Integrated mode is not supported</LI></p>
<p><LI>In Integrated mode, IIS always rejects new lines in response headers (even if ASP.NET enableHeaderChecking is set to false)</LI></p>
<p><LI>PreSendRequestHeaders and PreSendRequestContent events will raise together for each module</LI></p>
<p><LI>The ordering of modules is reversed for PreSendRequestHeaders and PreSendRequestContent when using Integrated mode</LI></p>
<p><LI>In Integrated mode, threading and queuing settings in are ignored</LI></p>
<p><LI>If a configuration file error is encountered when using Integrated mode, IIS, not ASP.NET, generates the error message</LI></p>
<p><LI>In Integrated mode, ASP.NET applications must subscribe to pipeline events during a module’s Init call</LI><br />
</UL></p>
<p>[/RAW]</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jeff.wilcox.name/2006/12/aspnet-upgraging-pipeline-mode/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Quick guide: Installing ASP.NET v1.1 on Windows Vista</title>
		<link>http://www.jeff.wilcox.name/2006/11/aspnet-v11-vista-install/</link>
		<comments>http://www.jeff.wilcox.name/2006/11/aspnet-v11-vista-install/#comments</comments>
		<pubDate>Fri, 10 Nov 2006 04:48:14 +0000</pubDate>
		<dc:creator>Jeff Wilcox</dc:creator>
				<category><![CDATA[ASP.NET]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Vista]]></category>
		<category><![CDATA[Web Servers]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[IIS]]></category>
		<category><![CDATA[Windows Vista]]></category>

		<guid isPermaLink="false">http://linux.jeff.wilcox.name/2006/11/09/aspnet-v11-vista-install/</guid>
		<description><![CDATA[[RAW] Vista ships with .NET Framework 2.0 in the box, but ASP.NET v1.1 is still fully supported if you need it-and here&#8217;s how. If you&#8217;re trying to diagnose this problem, the error message you will receive without allowing v1.1 is a 404.2 – Not Found; the description is &#8220;the page you are requesting cannot be [...]]]></description>
			<content:encoded><![CDATA[<p>[RAW]<br />
<P>Vista ships with .NET Framework 2.0 in the box, but ASP.NET v1.1 is still fully supported if you need it-and here&#8217;s how. </P></p>
<p><P>If you&#8217;re trying to diagnose this problem, the error message you will receive without allowing v1.1 is a 404.2 – Not Found; the description is &#8220;the page you are requesting cannot be served because of the ISAPI and CGI Restriction list settings on the Web server.&#8221;</P></p>
<p><P><IMG title="Error message when v1.1 is not enabled" style="WIDTH: 540px; HEIGHT: 405px" height=405 alt="Error message when v1.1 is not enabled" src="http://www.jeff.wilcox.name/blog/view/iis/v11_enable_error.jpg" width=540 border=0 mce_src="http://www.jeff.wilcox.name/blog/view/iis/v11_enable_error.jpg"></P></p>
<p><H2>Install .NET Framework v1.1 &amp; v1.1 SP1 </H2><br />
<P>Prerequisite: You have installed IIS on the machine already (Control Panel – Add/Remove Windows Features) </P></p>
<p><UL><br />
<LI>Download and Install <A href="http://www.microsoft.com/downloads/details.aspx?familyid=262D25E3-F589-4842-8157-034D1E7CF3A3&amp;displaylang=en" mce_href="http://www.microsoft.com/downloads/details.aspx?familyid=262D25E3-F589-4842-8157-034D1E7CF3A3&amp;displaylang=en">.NET Framework v1.1</A> </LI></p>
<p><LI>Download and install <A href="http://www.microsoft.com/downloads/details.aspx?FamilyID=A8F5654F-088E-40B2-BBDB-A83353618B38&amp;displaylang=en" mce_href="http://www.microsoft.com/downloads/details.aspx?FamilyID=A8F5654F-088E-40B2-BBDB-A83353618B38&amp;displaylang=en">v1.1 Service Pack 1</A> </LI><br />
</UL></p>
<p><H2>Enable ASP.NET v1.1 in InetMgr </H2><br />
<P>Run &#8220;InetMgr&#8221; (even though the Run menu&#8217;s not in the Start Menu by default, you can still reach it by pressing [ <STRONG>Windows key</STRONG> ] + [ <STRONG>R </STRONG>]) </P></p>
<p><P>Click on your computer name in the tree, not the web site. This should be the top-most tree element. Double-click on &#8220;ISAPI and CGI Restrictions,&#8221; this is an icon in the center of the screen within the IIS group. </P></p>
<p><P><IMG title="v1.1 Enable Restrictions" style="WIDTH: 540px; HEIGHT: 405px" height=405 alt="v1.1 Enable Restrictions" src="http://www.jeff.wilcox.name/blog/view/iis/v11_enable_restrictions.jpg" width=540 border=0 mce_src="http://www.jeff.wilcox.name/blog/view/iis/v11_enable_restrictions.jpg"></P></p>
<p><P>Right-click on the ASP.NET list item entry and &#8220;Allow&#8221; it. You do not need to reset the web server. </P></p>
<p><P><IMG title="Right click and Allow" style="WIDTH: 540px; HEIGHT: 405px" height=405 alt="Right click and Allow" src="http://www.jeff.wilcox.name/blog/view/iis/v11_enable_allow.jpg" width=540 border=0 mce_src="http://www.jeff.wilcox.name/blog/view/iis/v11_enable_allow.jpg"></P></p>
<p><P><STRONG>You can also do this from an elevated command prompt using AppCmd.exe: </STRONG></P></p>
<p><P><TT>%windir%\system32\inetsrv\appcmd set config -section:isapiCgiRestriction /+.[path='%windir%\Microsoft.NET\Framework\v1.1.4322\aspnet_isapi.dll',allowed='true']</TT></P></p>
<p><H2>Creating v1.1 Applications </H2><br />
<P>Another obvious note, within the IIS Manager, you need to specify the application pool of choice when adding a new application. There is no concept of a v1.1 &#8220;integrated&#8221; mode, so your choices with v1.1 installed are: Integrated Pipeline 2.0, Classic/ISAPI 2.0, and Classic/ISAPI 1.1. </P></p>
<p><P><IMG title="Creating an ASP.NET v1.1 Application in InetMgr 7" style="WIDTH: 540px; HEIGHT: 405px" height=405 alt="Creating an ASP.NET v1.1 Application in InetMgr 7" src="http://www.jeff.wilcox.name/blog/view/iis/v11_enable_add_app.jpg" width=540 border=0 mce_src="http://www.jeff.wilcox.name/blog/view/iis/v11_enable_add_app.jpg"></P></p>
<p><P>Simply select the v1.1 application pool and you&#8217;re good to go!</P></p>
<p>[/RAW]</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jeff.wilcox.name/2006/11/aspnet-v11-vista-install/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Windows Vista RTM: Making it happen for ASP.NET</title>
		<link>http://www.jeff.wilcox.name/2006/11/testing-asp-net-for-vista/</link>
		<comments>http://www.jeff.wilcox.name/2006/11/testing-asp-net-for-vista/#comments</comments>
		<pubDate>Thu, 09 Nov 2006 12:21:25 +0000</pubDate>
		<dc:creator>Jeff Wilcox</dc:creator>
				<category><![CDATA[ASP.NET]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Testing]]></category>
		<category><![CDATA[Vista]]></category>
		<category><![CDATA[Web Servers]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[IIS]]></category>
		<category><![CDATA[Windows Vista]]></category>

		<guid isPermaLink="false">http://linux.jeff.wilcox.name/2006/11/09/testing-asp-net-for-vista/</guid>
		<description><![CDATA[[RAW] With the release of Windows Vista, the next generation Microsoft Platform for web developers looking to explore better integration between their applications and the web server. We&#8217;ve logged many hours over the last year making sure that the ASP.NET and IIS 7.0 experience is a success story, and I wanted to open by introducing [...]]]></description>
			<content:encoded><![CDATA[<p>[RAW]</p>
<p>With the release of Windows Vista, the next generation Microsoft Platform for web developers looking to explore better integration between their applications and the web server. We&#8217;ve logged many hours over the last year making sure that the ASP.NET and IIS 7.0 experience is a success story, and I wanted to open by introducing the new integrated mode and diving into some of what went on for the test team to bring the release to you.</p>
<h1>Integrated Mode: ASP.NET + IIS</h1>
<p>ASP.NET 2.0 shipped in October 2005 and was full of useful features, but on IIS 6 it still executed like a well-oiled Perl script would have a decade ago. For the most part, it sat on top of the web server, relying on an archaic native interface (ISAPI) to make it all happen. Simply enabling Windows authentication took two steps: One enabling it in the IIS manager, and the other configuring it your web.config file.</p>
<p>With Vista, all this is in the past: Handler mappings, authentication … it&#8217;s all a single story. One step to get a task done, a great new administrative interface to go with it. Being familiar with the work that&#8217;s gone on to make managed code a first-class citizen with IIS, I intend to use this blog as a place to share that experience.</p>
<p>I don&#8217;t intend to duplicate the great resources already online, so as a starting point, if you&#8217;re new to all this, please check out:</p>
<ul>
<li><a href="http://www.mvolo.com/">Mike Volodarsky&#8217;s &#8220;server-side&#8221;</a> blog</li>
<li>IIS.Net community site run by Microsoft, specifically the IIS7 <a href="http://www.iis.net/default.aspx?tabid=7">technical resources overview</a></li>
<li>The <a href="http://forums.iis.net/">IIS discussion forums</a> or <a href="http://forums.asp.net/">ASP.NET forums</a>, the best place to get your questions answered</li>
</ul>
<h1>Testing: Automation updates, new tools, overall process</h1>
<p>Testing ASP.NET, IIS, and Windows Vista together was a lot of work. It consisted of automation improvements, using new product features, adding test coverage, fixing test cases, and analyzing hundreds of thousands of automation results. Here&#8217;s a little bit of the behind-the-scenes work that happened from my perspective.</p>
<p>We rely on automation so much on the ASP.NET test team that it was critical to get our tests running on the new OS as soon as possible. Being able to kick off tests to run overnight means that I can devote the day to everything else: Resolving and fixing bugs, learning about and providing feedback on the product, and working on other exciting projects. This wouldn&#8217;t be possible without the large automation infrastructure we have in place. <a href="http://weblogs.asp.net/scottgu/archive/2004/10/28/249458.aspx">Scott Guthrie&#8217;s testing post</a> a few years ago really provides a great look at what&#8217;s involved in our testing.</p>
<h2>Integrated and classic application pool types</h2>
<p>As you can now place ASP.NET applications in either the IIS7 Integrated application pool or the Classic/ISAPI pool, we expanded the scope of our tests to run in both the integrated and classic modes. The default application pool type is now integrated; however, the classic mode is still around for compatibility, ASP.NET 1.1 SP1 applications, and other scenarios. If you&#8217;re impacted by a breaking change in the integrated mode, you can always just flip the application into the classic pool.</p>
<p>Expanding the possible contexts for all our tests to run in both modes meant more test results would be generated for each run, but the cost in additional time for execution is made up for by the presence of historical data and side-by-side results. Having results for the same underlying test, running into both pipeline modes, was really helpful for identifying bugs.</p>
<p>They weren&#8217;t all bugs either, some differences were as verifying the new <a href="http://blogs.iis.net/bills/archive/2006/10/19/Improving-Custom-Errors-for-IIS7-Server.aspx">IIS 7 error messages</a>.</p>
<h2>User account control</h2>
<p>The sweeping security improvements within Windows Vista made automation a little more difficult at first (that&#8217;s a good thing). Instead of just modifying some registry values to open the necessary firewall ports, changing a configuration file, or running a set of batch files, we had the fun challenge of interacting with User Account Control (UAC). Even though ASP.NET is a server-side process, our automation system is full of tools that run within the context of an end user session. Elevation to administrative privileges is needed for reimaging machines, configuring the product, and running tests. It took a lot of hard work by many people within the company to get us to where we are today.</p>
<h2>New tools like AppCmd</h2>
<p>The Microsoft philosophy of testing your products using your products is pretty fun at times. A good example that I have is the ability to take a snapshot of the web server configuration files with IIS 7—I can&#8217;t tell you how many times I use an older Windows 2003 machine and wish I could use this feature.</p>
<p>The AppCmd tool, located at %windir%\system32\inetsrv\appcmd.exe, is a great command-line interface to the web server. When we initially install IIS on a Vista machine, the scripts make a backup of the important IIS configuration files by calling &#8220;appcmd add backup Initial&#8221;. &#8220;Initial&#8221; is just the unique name for the backup. If you ever destroy the configuration files, you can simply issue an &#8220;appcmd restore backup Initial&#8221; command and you&#8217;re back in business, without having to examine what you did incorrectly.</p>
<p><img border="0" width="506" src="http://www.jeff.wilcox.name/blog/view/iis/AppCmdBackup.jpg" alt="AppCmd.exe sample console window" height="253" style="width: 506px; height: 253px" title="AppCmd.exe sample console window" /></p>
<h2>Testing Process</h2>
<p>Finally, there was the actual testing experience that had to happen. Part of the process:</p>
<ul>
<li>Creating a new run with a set of tests and the contexts in which they execute</li>
<li>Cross your fingers, hoping that the machines install Vista, the product, and come back online</li>
<li>Waiting as thousands of tests execute and log their results</li>
<li>Spending days investigating fun new Vista changes, improvements, bugs, fixing tests, and fixing the product</li>
<li>Repeat!</li>
</ul>
<p>We frequently performed &#8220;nightly&#8221; tests, which consist of the highest priority automation, along with a combination of Vista SKUs, product types, and languages. Test the SDK one week, and the full Visual Studio the following week; English, Arabic, Japanese, German; AMD64, x86, the list goes on!</p>
<p>Before each significant Vista milestone, we signed off by performing a major full automation test pass on the product. This was a major undertaking: one such test pass lasted a month and really pinpointed the work that needed to be done to finalize ASP.NET on Vista. If you haven&#8217;t already given the new IIS a try, run the IIS Manager after installing Vista and the web server, and try the &#8220;new&#8221; ASP.NET.</p>
<h1>In Closing</h1>
<p>I&#8217;m really proud of the quality of our product and hope that you find the new features and improvements really helpful in your work. Between the union of IIS + ASP.NET and the <a href="http://ajax.asp.net/">ASP.NET AJAX story</a>, there are some great reasons to use the Microsoft platform today. And you can <a href="http://www.iis.net/News/Item.aspx?i=1204">still use PHP too</a>!</p>
<p>Please let me know if you found this useful.</p>
<p>[/RAW]</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jeff.wilcox.name/2006/11/testing-asp-net-for-vista/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
