<?xml version="1.0"?><?xml-stylesheet type="text/xsl" href="http://www.codeplex.com/rss.xsl"?><rss version="2.0"><channel><title>DanDoes.NET - ContentGator</title><link>http://contentgator.codeplex.com/Project/ProjectRss.aspx</link><description>ContentGator allows web developers to automatically serve aggregated content &amp;#40;css, js, etc&amp;#41; from their web pages. By simply listing relative paths, files are grouped by content type and aggregated ...</description><item><title>Created Release: DanDoes.NET ContentGator Beta 1.2 (Mar 10, 2009)</title><link>http://contentgator.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=24518</link><description>&lt;div&gt;
&lt;ul&gt;
&lt;li&gt;Fixed an issue that prevented the aggregated file from being served in subdirectories in WinForms apps&lt;/li&gt;&lt;li&gt;The url format is now forced to start with a forward slash (&amp;quot;/&amp;quot;)&lt;/li&gt;&lt;li&gt;Updated the MVC test project to reference MVC RC2&lt;/li&gt;&lt;li&gt;Misc url format parsing fixes&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;</description><author>DanielSchaffer</author><pubDate>Tue, 10 Mar 2009 16:28:29 GMT</pubDate><guid isPermaLink="false">Created Release: DanDoes.NET ContentGator Beta 1.2 (Mar 10, 2009) 20090310042829P</guid></item><item><title>Released: DanDoes.NET ContentGator Beta 1.2 (Mar 10, 2009)</title><link>http://contentgator.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=24518</link><description>&lt;div&gt;
&lt;ul&gt;
&lt;li&gt;Fixed an issue that prevented the aggregated file from being served in subdirectories in WinForms apps&lt;/li&gt;&lt;li&gt;The url format is now forced to start with a forward slash (&amp;quot;/&amp;quot;)&lt;/li&gt;&lt;li&gt;Updated the MVC test project to reference MVC RC2&lt;/li&gt;&lt;li&gt;Misc url format parsing fixes&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;</description><author></author><pubDate>Tue, 10 Mar 2009 16:28:29 GMT</pubDate><guid isPermaLink="false">Released: DanDoes.NET ContentGator Beta 1.2 (Mar 10, 2009) 20090310042829P</guid></item><item><title>Updated Wiki: Home</title><link>http://contentgator.codeplex.com/Wiki/View.aspx?title=Home&amp;version=14</link><description>&lt;div class="wikidoc"&gt;
&lt;b&gt;Project Description&lt;/b&gt;&lt;br /&gt;ContentGator allows web developers to automatically serve aggregated content &amp;#40;css, js, etc&amp;#41; from their web pages. By simply listing relative paths, files are grouped by content type and aggregated into a single file, which is automatically served with GZip or Deflate compression.&lt;br /&gt;&lt;h1&gt;
Overview
&lt;/h1&gt;&lt;ul&gt;
&lt;li&gt;Decreases client load times by limiting the number of distinct HTTP requests&lt;/li&gt;&lt;li&gt;GZip/Deflate compression decreases load times and bandwidth consumption&lt;/li&gt;&lt;li&gt;Allows better organization of your project, since parts can be more liberally separated into separate files&lt;/li&gt;&lt;li&gt;Aggregates multiple content files into a single file&lt;/li&gt;&lt;li&gt;Supports adding files from both master pages and child pages&lt;/li&gt;&lt;li&gt;Both WebForms and MVC Beta (Preview 5) are supported&lt;/li&gt;&lt;li&gt;Supports GZip and Deflate compression&lt;/li&gt;&lt;li&gt;Implements HTTP 304 Not Modified&lt;/li&gt;
&lt;/ul&gt;&lt;h1&gt;
WebForms and MVC
&lt;/h1&gt;ContentGator works the same in both WebForms and MVC, so there are no differences in setup or usage between the two. The only difference is that MVC requires referencing the &lt;b&gt;DanDoesDotNet.ContentGator.Mvc.dll&lt;/b&gt; library in addition to &lt;b&gt;DanDoesDotNet.ContentGator.dll&lt;/b&gt;.&lt;br /&gt;&lt;h1&gt;
Required References
&lt;/h1&gt;&lt;b&gt;ASP.NET WebForms:&lt;/b&gt;&lt;br /&gt;&lt;ul&gt;
&lt;li&gt;DanDoesDotNet.ContentGator.dll&lt;/li&gt;
&lt;/ul&gt;&lt;b&gt;ASP.NET MVC Beta Preview 5&lt;/b&gt;&lt;br /&gt;&lt;ul&gt;
&lt;li&gt;System.Web.Mvc.dll (not included)&lt;/li&gt;&lt;li&gt;DanDoesDotNet.ContentGator.dll&lt;/li&gt;&lt;li&gt;DanDoesDotNet.ContentGator.Mvc.dll&lt;/li&gt;
&lt;/ul&gt;&lt;h1&gt;
Setup
&lt;/h1&gt;&lt;b&gt;Web.config (IIS6/Cassini):&lt;/b&gt;&lt;br /&gt;&lt;div style="color:Black;background-color:White;"&gt;&lt;pre&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;&lt;/span&gt;
   &lt;span style="color:Blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#A31515;"&gt;pages&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;namespaces&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;namespace&lt;/span&gt;&lt;span style="color:Blue;"&gt;=&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:Blue;"&gt;DanDoesDotNet.Web.UI&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&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;namespaces&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;pages&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;httpHandlers&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;remove&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:Black;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:Blue;"&gt;*&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&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:Black;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:Blue;"&gt;*_ContentGator.axd&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&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;verb&lt;/span&gt;&lt;span style="color:Blue;"&gt;=&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:Blue;"&gt;*&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&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:Black;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:Blue;"&gt;*_ContentGator.axd&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&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:Black;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:Blue;"&gt;DanDoesDotNet.Web.ContentGatorHandler, DanDoesDotNet.ContentGator&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt; &lt;span style="color:Red;"&gt;validate&lt;/span&gt;&lt;span style="color:Blue;"&gt;=&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:Blue;"&gt;false&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&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;httpHandlers&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;system.web&lt;/span&gt;&lt;span style="color:Blue;"&gt;&amp;gt;&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;&lt;b&gt;Web.config (IIS7):&lt;/b&gt;&lt;br /&gt;&lt;div style="color:Black;background-color:White;"&gt;&lt;pre&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;&lt;/span&gt;
   &lt;span style="color:Blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#A31515;"&gt;pages&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;namespaces&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;namespace&lt;/span&gt;&lt;span style="color:Blue;"&gt;=&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:Blue;"&gt;DanDoesDotNet.Web.UI&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&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;namespaces&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;pages&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;system.web&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;system.webServer&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;handlers&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;remove&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:Black;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:Blue;"&gt;ContentGatorHandler&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&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:Black;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:Blue;"&gt;ContentGatorHandler&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&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:Black;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:Blue;"&gt;GET,HEAD&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&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:Black;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:Blue;"&gt;*_ContentGator.axd&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&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:Black;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:Blue;"&gt;integratedMode&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&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:Black;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:Blue;"&gt;DanDoesDotNet.Web.ContentGatorHandler, DanDoesDotNet.ContentGator&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&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;handlers&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;system.webServer&lt;/span&gt;&lt;span style="color:Blue;"&gt;&amp;gt;&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;&lt;h1&gt;
Usage
&lt;/h1&gt;&lt;b&gt;Using Master Pages:&lt;/b&gt;&lt;br /&gt;In Master Page:&lt;br /&gt;&lt;div style="color:Black;background-color:White;"&gt;&lt;pre&gt;
&lt;span style="color:Blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#A31515;"&gt;head&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;title&lt;/span&gt;&lt;span style="color:Blue;"&gt;&amp;gt;&lt;/span&gt;This Is a Master Page!&lt;span style="color:Blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#A31515;"&gt;title&lt;/span&gt;&lt;span style="color:Blue;"&gt;&amp;gt;&lt;/span&gt;
    &lt;span style="background-color:Yellow;"&gt;&amp;lt;%&lt;/span&gt; &lt;span style="color:Blue;"&gt;this&lt;/span&gt;.AddContentGatorPaths(
           &lt;span style="color:#A31515;"&gt;&amp;quot;~/Content/_reset.css&amp;quot;&lt;/span&gt;,
           &lt;span style="color:#A31515;"&gt;&amp;quot;~/Content/Site.css&amp;quot;&lt;/span&gt;,
           &lt;span style="color:#A31515;"&gt;&amp;quot;~/Content/jquery-1.2.6.min.js&amp;quot;&lt;/span&gt;,
           &lt;span style="color:#A31515;"&gt;&amp;quot;~/Content/jquery-ui.core.min.js&amp;quot;&lt;/span&gt;); &lt;span style="background-color:Yellow;"&gt;%&amp;gt;&lt;/span&gt;
    &lt;span style="color:Blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#A31515;"&gt;asp&lt;/span&gt;&lt;span style="color:Blue;"&gt;:&lt;/span&gt;&lt;span style="color:#A31515;"&gt;ContentPlaceHolder&lt;/span&gt; &lt;span style="color:Red;"&gt;id&lt;/span&gt;&lt;span style="color:Blue;"&gt;=&lt;/span&gt;&lt;span style="color:Blue;"&gt;&amp;quot;head&amp;quot;&lt;/span&gt; &lt;span style="color:Red;"&gt;runat&lt;/span&gt;&lt;span style="color:Blue;"&gt;=&lt;/span&gt;&lt;span style="color:Blue;"&gt;&amp;quot;server&amp;quot;&lt;/span&gt; &lt;span style="color:Blue;"&gt;/&amp;gt;&lt;/span&gt;
    
    &lt;span style="background-color:Yellow;"&gt;&amp;lt;%=&lt;/span&gt; &lt;span style="color:Blue;"&gt;this&lt;/span&gt;.RenderContentGator() &lt;span style="background-color:Yellow;"&gt;%&amp;gt;&lt;/span&gt;    
&lt;span style="color:Blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#A31515;"&gt;head&lt;/span&gt;&lt;span style="color:Blue;"&gt;&amp;gt;&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;In Child Page:&lt;br /&gt;&lt;div style="color:Black;background-color:White;"&gt;&lt;pre&gt;
&lt;span style="color:Blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#A31515;"&gt;asp&lt;/span&gt;&lt;span style="color:Blue;"&gt;:&lt;/span&gt;&lt;span style="color:#A31515;"&gt;Content&lt;/span&gt; &lt;span style="color:Red;"&gt;ID&lt;/span&gt;&lt;span style="color:Blue;"&gt;=&lt;/span&gt;&lt;span style="color:Blue;"&gt;&amp;quot;head&amp;quot;&lt;/span&gt; &lt;span style="color:Red;"&gt;ContentPlaceHolderID&lt;/span&gt;&lt;span style="color:Blue;"&gt;=&lt;/span&gt;&lt;span style="color:Blue;"&gt;&amp;quot;head&amp;quot;&lt;/span&gt; &lt;span style="color:Red;"&gt;runat&lt;/span&gt;&lt;span style="color:Blue;"&gt;=&lt;/span&gt;&lt;span style="color:Blue;"&gt;&amp;quot;server&amp;quot;&lt;/span&gt;&lt;span style="color:Blue;"&gt;&amp;gt;&lt;/span&gt;
    &lt;span style="background-color:Yellow;"&gt;&amp;lt;%&lt;/span&gt; &lt;span style="color:Blue;"&gt;this&lt;/span&gt;.AddContentGatorPaths(&lt;span style="color:#A31515;"&gt;&amp;quot;~/Content/Default.css&amp;quot;&lt;/span&gt;); &lt;span style="background-color:Yellow;"&gt;%&amp;gt;&lt;/span&gt;
&lt;span style="color:Blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#A31515;"&gt;asp&lt;/span&gt;&lt;span style="color:Blue;"&gt;:&lt;/span&gt;&lt;span style="color:#A31515;"&gt;Content&lt;/span&gt;&lt;span style="color:Blue;"&gt;&amp;gt;&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;&lt;b&gt;Not Using Master Pages:&lt;/b&gt;&lt;br /&gt;&lt;div style="color:Black;background-color:White;"&gt;&lt;pre&gt;
&lt;span style="color:Blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#A31515;"&gt;head&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;title&lt;/span&gt;&lt;span style="color:Blue;"&gt;&amp;gt;&lt;/span&gt;This Is a Non-Master Page&lt;span style="color:Blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#A31515;"&gt;title&lt;/span&gt;&lt;span style="color:Blue;"&gt;&amp;gt;&lt;/span&gt;
    &lt;span style="background-color:Yellow;"&gt;&amp;lt;%=&lt;/span&gt; &lt;span style="color:Blue;"&gt;this&lt;/span&gt;.RenderContentGator(
           &lt;span style="color:#A31515;"&gt;&amp;quot;~/Content/_reset.css&amp;quot;&lt;/span&gt;,
           &lt;span style="color:#A31515;"&gt;&amp;quot;~/Content/Site.css&amp;quot;&lt;/span&gt;,
           &lt;span style="color:#A31515;"&gt;&amp;quot;~/Content/jquery-1.2.6.min.js&amp;quot;&lt;/span&gt;,
           &lt;span style="color:#A31515;"&gt;&amp;quot;~/Content/jquery-ui.core.min.js&amp;quot;&lt;/span&gt;) &lt;span style="background-color:Yellow;"&gt;%&amp;gt;&lt;/span&gt;
&lt;span style="color:Blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#A31515;"&gt;head&lt;/span&gt;&lt;span style="color:Blue;"&gt;&amp;gt;&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;&lt;h1&gt;
Other Considerations
&lt;/h1&gt;&lt;ul&gt;
&lt;li&gt;Requested files are not generated until they are requested. This means that page requests served to spiders and other non-browser clients will not result in any potential additional overhead.&lt;/li&gt;&lt;li&gt;Aggregated files, once generated, are stored in the application state.&lt;/li&gt;&lt;li&gt;Compression is done at the time of generation. As such, up to three copies of each aggregated file (GZipped, Deflated and Uncompressed) may be present in the application state at once. This may be less likely in practice, since most web browsers support GZip.&lt;/li&gt;&lt;li&gt;Files are aggregated in the order they are specified, which guaranties that content from one file is loaded before another. This is a requirement for situations that are sensitive to loading order, such as CSS styling and loading client script that depends on client script frameworks.&lt;/li&gt;&lt;li&gt;Each unique collection of content, including the order they are specified in will resulting in an additional item being placed in the application state.&lt;/li&gt;
&lt;/ul&gt;&lt;h1&gt;
Disclaimer
&lt;/h1&gt;&lt;ul&gt;
&lt;li&gt;This Works On My Computer and on &lt;a href="http://new.dandoes.net" class="externalLink"&gt;my website in progress&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;This &lt;b&gt;has not&lt;/b&gt; been tested on any websites with any semblance of traffic volume.&lt;/li&gt;&lt;li&gt;In other words, please use this, but do so at your own risk.&lt;/li&gt;
&lt;/ul&gt;&lt;h1&gt;
Undocumented
&lt;/h1&gt;&lt;ul&gt;
&lt;li&gt;Optional configuration - &lt;span class="codeInline"&gt;DanDoesDotNet.Web.Configuration.ContentGatorSection&lt;/span&gt; allows default settings to be overwritten, such as:&lt;/li&gt;&lt;ul&gt;
&lt;li&gt;Url format - used in the rendered html to reference aggregated files&lt;/li&gt;&lt;li&gt;Use/Preference of compression - whether or not to use GZip and/or Delfate, and which one is preferred (default is GZip)&lt;/li&gt;&lt;li&gt;Use of HTTP 304 Not Modified - whether or not to send an HTTP 304 response if none of the files have been modified (default is true)&lt;/li&gt;&lt;li&gt;Supported content types - by default, files with the extensions .js and .css are supported.&lt;/li&gt;
&lt;/ul&gt;
&lt;/ul&gt;
&lt;/div&gt;</description><author>DanielSchaffer</author><pubDate>Tue, 10 Mar 2009 14:08:35 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Home 20090310020835P</guid></item><item><title>Source code checked in, #14006</title><link>http://contentgator.codeplex.com/SourceControl/ListDownloadableCommits.aspx</link><description></description><author>DanielSchaffer</author><pubDate>Tue, 10 Mar 2009 13:58:15 GMT</pubDate><guid isPermaLink="false">Source code checked in, #14006 20090310015815P</guid></item><item><title>Source code checked in, #14005</title><link>http://contentgator.codeplex.com/SourceControl/ListDownloadableCommits.aspx</link><description></description><author>DanielSchaffer</author><pubDate>Tue, 10 Mar 2009 13:55:04 GMT</pubDate><guid isPermaLink="false">Source code checked in, #14005 20090310015504P</guid></item><item><title>Source code checked in, #14003</title><link>http://contentgator.codeplex.com/SourceControl/ListDownloadableCommits.aspx</link><description></description><author>DanielSchaffer</author><pubDate>Tue, 10 Mar 2009 13:48:21 GMT</pubDate><guid isPermaLink="false">Source code checked in, #14003 20090310014821P</guid></item><item><title>Updated Wiki: Home</title><link>http://contentgator.codeplex.com/Wiki/View.aspx?title=Home&amp;version=13</link><description>&lt;div class="wikidoc"&gt;
&lt;b&gt;Project Description&lt;/b&gt;&lt;br /&gt;ContentGator allows web developers to automatically serve aggregated content &amp;#40;css, js, etc&amp;#41; from their web pages. By simply listing relative paths, files are grouped by content type and aggregated into a single file, which is automatically served with GZip or Deflate compression.&lt;br /&gt;&lt;h1&gt;
Overview
&lt;/h1&gt;&lt;ul&gt;
&lt;li&gt;Decreases client load times by limiting the number of distinct HTTP requests&lt;/li&gt;&lt;li&gt;GZip/Deflate compression decreases load times and bandwidth consumption&lt;/li&gt;&lt;li&gt;Allows better organization of your project, since parts can be more liberally separated into separate files&lt;/li&gt;&lt;li&gt;Aggregates multiple content files into a single file&lt;/li&gt;&lt;li&gt;Supports adding files from both master pages and child pages&lt;/li&gt;&lt;li&gt;Both WebForms and MVC Beta (Preview 5) are supported&lt;/li&gt;&lt;li&gt;Supports GZip and Deflate compression&lt;/li&gt;&lt;li&gt;Implements HTTP 304 Not Modified&lt;/li&gt;
&lt;/ul&gt;&lt;h1&gt;
WebForms and MVC
&lt;/h1&gt;ContentGator works the same in both WebForms and MVC, so there are no differences in setup or usage between the two. The only difference is that MVC requires referencing the &lt;b&gt;DanDoesDotNet.ContentGator.Mvc.dll&lt;/b&gt; library in addition to &lt;b&gt;DanDoesDotNet.ContentGator.dll&lt;/b&gt;.&lt;br /&gt;&lt;h1&gt;
Required References
&lt;/h1&gt;&lt;b&gt;ASP.NET WebForms:&lt;/b&gt;&lt;br /&gt;&lt;ul&gt;
&lt;li&gt;DanDoesDotNet.ContentGator.dll&lt;/li&gt;
&lt;/ul&gt;&lt;b&gt;ASP.NET MVC Beta Preview 5&lt;/b&gt;&lt;br /&gt;&lt;ul&gt;
&lt;li&gt;System.Web.Mvc.dll (not included)&lt;/li&gt;&lt;li&gt;DanDoesDotNet.ContentGator.dll&lt;/li&gt;&lt;li&gt;DanDoesDotNet.ContentGator.Mvc.dll&lt;/li&gt;
&lt;/ul&gt;&lt;h1&gt;
Setup
&lt;/h1&gt;&lt;b&gt;Web.config (IIS6/Cassini):&lt;/b&gt;&lt;br /&gt;&lt;div style="color:Black;background-color:White;"&gt;&lt;pre&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;&lt;/span&gt;
   &lt;span style="color:Blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#A31515;"&gt;pages&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;namespaces&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;namespace&lt;/span&gt;&lt;span style="color:Blue;"&gt;=&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:Blue;"&gt;DanDoesDotNet.Web.UI&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&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;namespaces&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;pages&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;httpHandlers&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;remove&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:Black;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:Blue;"&gt;*&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&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:Black;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:Blue;"&gt;*_ContentGator.axd&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&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;verb&lt;/span&gt;&lt;span style="color:Blue;"&gt;=&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:Blue;"&gt;*&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&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:Black;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:Blue;"&gt;*_ContentGator.axd&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&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:Black;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:Blue;"&gt;DanDoesDotNet.Web.ContentGatorHandler, DanDoesDotNet.ContentGator&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt; &lt;span style="color:Red;"&gt;validate&lt;/span&gt;&lt;span style="color:Blue;"&gt;=&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:Blue;"&gt;false&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&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;httpHandlers&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;system.web&lt;/span&gt;&lt;span style="color:Blue;"&gt;&amp;gt;&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;&lt;b&gt;Web.config (IIS7):&lt;/b&gt;&lt;br /&gt;&lt;div style="color:Black;background-color:White;"&gt;&lt;pre&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;&lt;/span&gt;
   &lt;span style="color:Blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#A31515;"&gt;pages&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;namespaces&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;namespace&lt;/span&gt;&lt;span style="color:Blue;"&gt;=&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:Blue;"&gt;DanDoesDotNet.Web.UI&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&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;namespaces&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;pages&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;system.web&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;system.webServer&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;handlers&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;remove&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:Black;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:Blue;"&gt;ContentGatorHandler&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&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:Black;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:Blue;"&gt;ContentGatorHandler&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&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:Black;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:Blue;"&gt;GET,HEAD&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&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:Black;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:Blue;"&gt;*_ContentGator.axd&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&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:Black;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:Blue;"&gt;integratedMode&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&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:Black;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:Blue;"&gt;DanDoesDotNet.Web.ContentGatorHandler, DanDoesDotNet.ContentGator&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&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;handlers&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;system.webServer&lt;/span&gt;&lt;span style="color:Blue;"&gt;&amp;gt;&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;&lt;h2&gt;
Subdirectory Fix for WebForms Apps (this is required for WebForms, it will not work otherwise!)
&lt;/h2&gt;This will be fixed in the next release, but for now this also needs to be added to your configuration:&lt;br /&gt;&lt;div style="color:Black;background-color:White;"&gt;&lt;pre&gt;
&lt;span style="color:Blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#A31515;"&gt;configSections&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;section&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:Black;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:Blue;"&gt;dandoesdotnet.contentgator&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&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:Black;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:Blue;"&gt;DanDoesDotNet.Configuration.ContentGatorSection, DanDoesDotNet.ContentGator&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&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;configSections&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;dandoesdotnet.contentgator&lt;/span&gt; &lt;span style="color:Red;"&gt;urlFormat&lt;/span&gt;&lt;span style="color:Blue;"&gt;=&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:Blue;"&gt;/{0}_ContentGator.axd&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt; &lt;span style="color:Blue;"&gt;/&amp;gt;&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;&lt;h1&gt;
Usage
&lt;/h1&gt;&lt;b&gt;Using Master Pages:&lt;/b&gt;&lt;br /&gt;In Master Page:&lt;br /&gt;&lt;div style="color:Black;background-color:White;"&gt;&lt;pre&gt;
&lt;span style="color:Blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#A31515;"&gt;head&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;title&lt;/span&gt;&lt;span style="color:Blue;"&gt;&amp;gt;&lt;/span&gt;This Is a Master Page!&lt;span style="color:Blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#A31515;"&gt;title&lt;/span&gt;&lt;span style="color:Blue;"&gt;&amp;gt;&lt;/span&gt;
    &lt;span style="background-color:Yellow;"&gt;&amp;lt;%&lt;/span&gt; &lt;span style="color:Blue;"&gt;this&lt;/span&gt;.AddContentGatorPaths(
           &lt;span style="color:#A31515;"&gt;&amp;quot;~/Content/_reset.css&amp;quot;&lt;/span&gt;,
           &lt;span style="color:#A31515;"&gt;&amp;quot;~/Content/Site.css&amp;quot;&lt;/span&gt;,
           &lt;span style="color:#A31515;"&gt;&amp;quot;~/Content/jquery-1.2.6.min.js&amp;quot;&lt;/span&gt;,
           &lt;span style="color:#A31515;"&gt;&amp;quot;~/Content/jquery-ui.core.min.js&amp;quot;&lt;/span&gt;); &lt;span style="background-color:Yellow;"&gt;%&amp;gt;&lt;/span&gt;
    &lt;span style="color:Blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#A31515;"&gt;asp&lt;/span&gt;&lt;span style="color:Blue;"&gt;:&lt;/span&gt;&lt;span style="color:#A31515;"&gt;ContentPlaceHolder&lt;/span&gt; &lt;span style="color:Red;"&gt;id&lt;/span&gt;&lt;span style="color:Blue;"&gt;=&lt;/span&gt;&lt;span style="color:Blue;"&gt;&amp;quot;head&amp;quot;&lt;/span&gt; &lt;span style="color:Red;"&gt;runat&lt;/span&gt;&lt;span style="color:Blue;"&gt;=&lt;/span&gt;&lt;span style="color:Blue;"&gt;&amp;quot;server&amp;quot;&lt;/span&gt; &lt;span style="color:Blue;"&gt;/&amp;gt;&lt;/span&gt;
    
    &lt;span style="background-color:Yellow;"&gt;&amp;lt;%=&lt;/span&gt; &lt;span style="color:Blue;"&gt;this&lt;/span&gt;.RenderContentGator() &lt;span style="background-color:Yellow;"&gt;%&amp;gt;&lt;/span&gt;    
&lt;span style="color:Blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#A31515;"&gt;head&lt;/span&gt;&lt;span style="color:Blue;"&gt;&amp;gt;&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;In Child Page:&lt;br /&gt;&lt;div style="color:Black;background-color:White;"&gt;&lt;pre&gt;
&lt;span style="color:Blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#A31515;"&gt;asp&lt;/span&gt;&lt;span style="color:Blue;"&gt;:&lt;/span&gt;&lt;span style="color:#A31515;"&gt;Content&lt;/span&gt; &lt;span style="color:Red;"&gt;ID&lt;/span&gt;&lt;span style="color:Blue;"&gt;=&lt;/span&gt;&lt;span style="color:Blue;"&gt;&amp;quot;head&amp;quot;&lt;/span&gt; &lt;span style="color:Red;"&gt;ContentPlaceHolderID&lt;/span&gt;&lt;span style="color:Blue;"&gt;=&lt;/span&gt;&lt;span style="color:Blue;"&gt;&amp;quot;head&amp;quot;&lt;/span&gt; &lt;span style="color:Red;"&gt;runat&lt;/span&gt;&lt;span style="color:Blue;"&gt;=&lt;/span&gt;&lt;span style="color:Blue;"&gt;&amp;quot;server&amp;quot;&lt;/span&gt;&lt;span style="color:Blue;"&gt;&amp;gt;&lt;/span&gt;
    &lt;span style="background-color:Yellow;"&gt;&amp;lt;%&lt;/span&gt; &lt;span style="color:Blue;"&gt;this&lt;/span&gt;.AddContentGatorPaths(&lt;span style="color:#A31515;"&gt;&amp;quot;~/Content/Default.css&amp;quot;&lt;/span&gt;); &lt;span style="background-color:Yellow;"&gt;%&amp;gt;&lt;/span&gt;
&lt;span style="color:Blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#A31515;"&gt;asp&lt;/span&gt;&lt;span style="color:Blue;"&gt;:&lt;/span&gt;&lt;span style="color:#A31515;"&gt;Content&lt;/span&gt;&lt;span style="color:Blue;"&gt;&amp;gt;&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;&lt;b&gt;Not Using Master Pages:&lt;/b&gt;&lt;br /&gt;&lt;div style="color:Black;background-color:White;"&gt;&lt;pre&gt;
&lt;span style="color:Blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#A31515;"&gt;head&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;title&lt;/span&gt;&lt;span style="color:Blue;"&gt;&amp;gt;&lt;/span&gt;This Is a Non-Master Page&lt;span style="color:Blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#A31515;"&gt;title&lt;/span&gt;&lt;span style="color:Blue;"&gt;&amp;gt;&lt;/span&gt;
    &lt;span style="background-color:Yellow;"&gt;&amp;lt;%=&lt;/span&gt; &lt;span style="color:Blue;"&gt;this&lt;/span&gt;.RenderContentGator(
           &lt;span style="color:#A31515;"&gt;&amp;quot;~/Content/_reset.css&amp;quot;&lt;/span&gt;,
           &lt;span style="color:#A31515;"&gt;&amp;quot;~/Content/Site.css&amp;quot;&lt;/span&gt;,
           &lt;span style="color:#A31515;"&gt;&amp;quot;~/Content/jquery-1.2.6.min.js&amp;quot;&lt;/span&gt;,
           &lt;span style="color:#A31515;"&gt;&amp;quot;~/Content/jquery-ui.core.min.js&amp;quot;&lt;/span&gt;) &lt;span style="background-color:Yellow;"&gt;%&amp;gt;&lt;/span&gt;
&lt;span style="color:Blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#A31515;"&gt;head&lt;/span&gt;&lt;span style="color:Blue;"&gt;&amp;gt;&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;&lt;h1&gt;
Other Considerations
&lt;/h1&gt;&lt;ul&gt;
&lt;li&gt;Requested files are not generated until they are requested. This means that page requests served to spiders and other non-browser clients will not result in any potential additional overhead.&lt;/li&gt;&lt;li&gt;Aggregated files, once generated, are stored in the application state.&lt;/li&gt;&lt;li&gt;Compression is done at the time of generation. As such, up to three copies of each aggregated file (GZipped, Deflated and Uncompressed) may be present in the application state at once. This may be less likely in practice, since most web browsers support GZip.&lt;/li&gt;&lt;li&gt;Files are aggregated in the order they are specified, which guaranties that content from one file is loaded before another. This is a requirement for situations that are sensitive to loading order, such as CSS styling and loading client script that depends on client script frameworks.&lt;/li&gt;&lt;li&gt;Each unique collection of content, including the order they are specified in will resulting in an additional item being placed in the application state.&lt;/li&gt;
&lt;/ul&gt;&lt;h1&gt;
Disclaimer
&lt;/h1&gt;&lt;ul&gt;
&lt;li&gt;This Works On My Computer and on &lt;a href="http://new.dandoes.net" class="externalLink"&gt;my website in progress&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;This &lt;b&gt;has not&lt;/b&gt; been tested on any websites with any semblance of traffic volume.&lt;/li&gt;&lt;li&gt;In other words, please use this, but do so at your own risk.&lt;/li&gt;
&lt;/ul&gt;&lt;h1&gt;
Undocumented
&lt;/h1&gt;&lt;ul&gt;
&lt;li&gt;Optional configuration - &lt;span class="codeInline"&gt;DanDoesDotNet.Web.Configuration.ContentGatorSection&lt;/span&gt; allows default settings to be overwritten, such as:&lt;/li&gt;&lt;ul&gt;
&lt;li&gt;Url format - used in the rendered html to reference aggregated files&lt;/li&gt;&lt;li&gt;Use/Preference of compression - whether or not to use GZip and/or Delfate, and which one is preferred (default is GZip)&lt;/li&gt;&lt;li&gt;Use of HTTP 304 Not Modified - whether or not to send an HTTP 304 response if none of the files have been modified (default is true)&lt;/li&gt;&lt;li&gt;Supported content types - by default, files with the extensions .js and .css are supported.&lt;/li&gt;
&lt;/ul&gt;
&lt;/ul&gt;
&lt;/div&gt;</description><author>DanielSchaffer</author><pubDate>Tue, 10 Mar 2009 03:31:12 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Home 20090310033112A</guid></item><item><title>New Post: undeclared entity 'rsquo'?</title><link>http://contentgator.codeplex.com/Thread/View.aspx?ThreadId=49551</link><description>&lt;div style="line-height: normal;"&gt;Okay, I see what the problem is. It seems that it has problems getting the correct file hash from pages in subdirectories in webforms applications. My apologies for this, I quite obviously should've caught this on my own.&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;Fortunately, there is a way to work around this without requiring a new release - it just involves adding some additional configuration into your web.config file.&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;First, add this to your &amp;lt;configSections&amp;gt; element:&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&amp;lt;section name=&amp;quot;dandoesdotnet.contentgator&amp;quot; type=&amp;quot;DanDoesDotNet.Configuration.ContentGatorSection, DanDoesDotNet.ContentGator&amp;quot; /&amp;gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;Then add this anywhere outside of any sections (i put it after your urlrewriting section):&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&amp;lt;dandoesdotnet.contentgator urlFormat=&amp;quot;/{0}_ContentGator.axd&amp;quot; /&amp;gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;I tested this with your app, and it worked fine, even after uncommenting the url rewriting configuration.&lt;/div&gt;&lt;/div&gt;</description><author>DanielSchaffer</author><pubDate>Tue, 10 Mar 2009 03:26:03 GMT</pubDate><guid isPermaLink="false">New Post: undeclared entity 'rsquo'? 20090310032603A</guid></item><item><title>New Post: undeclared entity 'rsquo'?</title><link>http://contentgator.codeplex.com/Thread/View.aspx?ThreadId=49551</link><description>&lt;div style="line-height: normal;"&gt;Yes, please send the ZIP to dan(at)dandoes(dot)net. I'll take a look at it this afternoon/evening.&lt;/div&gt;</description><author>DanielSchaffer</author><pubDate>Mon, 09 Mar 2009 15:42:33 GMT</pubDate><guid isPermaLink="false">New Post: undeclared entity 'rsquo'? 20090309034233P</guid></item><item><title>New Post: undeclared entity 'rsquo'?</title><link>http://contentgator.codeplex.com/Thread/View.aspx?ThreadId=49551</link><description>&lt;div style="line-height: normal;"&gt;Hi&lt;br&gt;
&lt;br&gt;
I think i've narrowed it down a little. Started from scratch an built a simple 2 page app. (I can email the .zip if you would like , 25k)&lt;br&gt;
&lt;br&gt;
web.config  registered your cool ContentGator which I currently using in an app about to go live, and also UrlWritingnet.dll, with url re-write rules.&lt;br&gt;
/default.aspx  added &amp;lt;%=this.RenderContentGator(&amp;quot;~/ic/test.js&amp;quot;)%&amp;gt;&lt;br&gt;
ic/test.js   = alert(&amp;quot;hello&amp;quot;);&lt;br&gt;
&lt;br&gt;
run the page works fine, I see the alert box popup.&lt;br&gt;
&lt;br&gt;
in a sub folder /u/default.aspx   , page created is a copy of the root default.aspx file.  &lt;br&gt;
now visit the sub page and you get the &amp;quot;;&amp;quot; issue.&lt;br&gt;
&lt;br&gt;
If I remove all the URLWrite from web.config and just visit the root/u/default.aspx you no longer get the &amp;quot;;&amp;quot; error, but the alert box still does not appear.&lt;br&gt;
&lt;br&gt;
It seems only files created in the root trigger the test.js file, ones in subfolders don't.&lt;br&gt;
&lt;br&gt;
Would I have to treat sub-pages list children of a master page, even thou they are not?&lt;br&gt;
&lt;br&gt;
Regard Arran :-&amp;gt;&lt;br&gt;
&lt;/div&gt;</description><author>ArranM</author><pubDate>Mon, 09 Mar 2009 11:58:52 GMT</pubDate><guid isPermaLink="false">New Post: undeclared entity 'rsquo'? 20090309115852A</guid></item><item><title>New Post: undeclared entity 'rsquo'?</title><link>http://contentgator.codeplex.com/Thread/View.aspx?ThreadId=49551</link><description>&lt;div style="line-height: normal;"&gt;Is this a server side or client-side error? If it is server side, can you post the entire stack trace of the exception?&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;Also, can you post the content of your test.js, if you don't mind?&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;rsquo is an html entity (as in &amp;amp;rsquo;) - is it possible that it is showing up in a file name somewhere?&lt;/div&gt;&lt;/div&gt;</description><author>DanielSchaffer</author><pubDate>Sun, 08 Mar 2009 23:31:42 GMT</pubDate><guid isPermaLink="false">New Post: undeclared entity 'rsquo'? 20090308113142P</guid></item><item><title>New Post: undeclared entity 'rsquo'?</title><link>http://contentgator.codeplex.com/Thread/View.aspx?ThreadId=49551</link><description>&lt;div style="line-height: normal;"&gt;&lt;span style="font-size:13px"&gt;
&lt;p&gt;Hi&lt;br&gt;
&lt;br&gt;
Geate lib, used it before on another project and works a treat, but now i'm getting the following message on a new web app.&lt;br&gt;
&lt;br&gt;
Reference to undeclared entity &lt;/p&gt;
&lt;/span&gt;
&lt;p&gt;&lt;span style="font-size:13px;color:#a31515"&gt;'rsquo'&lt;/span&gt;&lt;span style="font-size:13px"&gt;. Line 88, position 10.&lt;br&gt;
&lt;br&gt;
I've double checked the web.config again your easy instructions, and I have it running of an other web running on the same box.. so I can only think there is another setting somewhere&lt;br&gt;
&lt;br&gt;
asp.net 3.5 ,  the only difference between the working web app and this one is I'm using &amp;quot;UrlRewritingNew.UrlRewriter&amp;quot;, now I've taken this out and it's still reporting the same error message.&lt;br&gt;
&lt;br&gt;
axd seems to be there in the view source &lt;br&gt;
&lt;br&gt;
&amp;lt;head&amp;gt;&amp;lt;title&amp;gt;&lt;br&gt;
 #my test&lt;br&gt;
&amp;lt;/title&amp;gt;&amp;lt;meta http-equiv=&amp;quot;imagetoolbar&amp;quot; content=&amp;quot;no&amp;quot; /&amp;gt;&amp;lt;script src=&amp;quot;b3f4acd64de58daeec5cd2ebdbfeb64_ContentGator.axd&amp;quot; type=&amp;quot;text/javascript&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br&gt;
&amp;lt;/head&amp;gt;&lt;br&gt;
&lt;br&gt;
&lt;span style="font-size:13px;color:#0000ff"&gt;&lt;span style="color:#000000"&gt;Any ideas what it might be?&lt;br&gt;
&lt;br&gt;
Regards&lt;br&gt;
&lt;br&gt;
Arran&lt;/span&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;</description><author>ArranM</author><pubDate>Sun, 08 Mar 2009 16:56:45 GMT</pubDate><guid isPermaLink="false">New Post: undeclared entity 'rsquo'? 20090308045645P</guid></item><item><title>New Post: Cache management</title><link>http://contentgator.codeplex.com/Thread/View.aspx?ThreadId=48819</link><description>&lt;div style="line-height: normal;"&gt;Hey, thanks for checking this out.&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;If I understand your question correctly, you are asking how the aggregator knows when a file on the server has been modified, and how it knows to begin including it in the aggregated file.&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;The filesystem &amp;quot;last modified&amp;quot; date of each included file is used to generate the file hash that identifies the aggregated resource. So, when you modify one of the files, the resource that is being requested changes, which means the new file should begin being served immediately.&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;However, if you are output caching your ASP.NET page, it may still continue to serve the generated code requesting the old file, which as I'm typing this, I realize is your issue.&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;Unfortunately, this was an oversight on my part for this release. The best I can recommend is doing a VaryByCustom on the output of ContentGatorHelper.Render(). In order make make that work, you'll have to modify the source code to make the ContentGatorHelper.Render(params String[] paths) method public, and you'll need to call it with the same paths in the same order as you specify on your page. I know this is about as far from optimal as workarounds go, but I'm afraid there aren't really any other options until my next release.&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;Thanks again,&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;-Daniel&lt;/div&gt;&lt;/div&gt;</description><author>DanielSchaffer</author><pubDate>Mon, 02 Mar 2009 18:45:02 GMT</pubDate><guid isPermaLink="false">New Post: Cache management 20090302064502P</guid></item><item><title>New Post: Cache management</title><link>http://contentgator.codeplex.com/Thread/View.aspx?ThreadId=48819</link><description>&lt;div style="line-height: normal;"&gt;Hi,&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;I'm trying different libraries to compress and combine css files those days. I experienced few libraries and the biggest problem is file modify management.&lt;/div&gt;&lt;div&gt;For example most library support cache reset operation as changing version parameter. (Manuel operation and it is hard to manage, especialy if you forget change parameter)&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;It would be nice if it support new url parameter generate when the file change. Like WebReourse in asp..net ....&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;How do you manage file modification. There is no explanation about it.&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;thanks&lt;/div&gt;&lt;/div&gt;</description><author>mehmetim</author><pubDate>Sat, 28 Feb 2009 11:18:00 GMT</pubDate><guid isPermaLink="false">New Post: Cache management 20090228111800A</guid></item><item><title>New Post: ASP.NET Ajax Proxy</title><link>http://www.codeplex.com/contentgator/Thread/View.aspx?ThreadId=46152</link><description>&lt;div style="line-height: normal;"&gt;It would be interesting if you could also make it so that the ASP .Ajax JavaScript proxy (the result of /WebService.asmx/js request) files could be combined into a file with other script files.&lt;br&gt;
&lt;br&gt;
You might also consider using the System.Web.Caching API to store your resulting file.&amp;nbsp; That way memory would be released on the server if certain resources are not being accessed frequently.&lt;br&gt;
&lt;/div&gt;</description><author>jeremy_bell</author><pubDate>Wed, 04 Feb 2009 03:40:47 GMT</pubDate><guid isPermaLink="false">New Post: ASP.NET Ajax Proxy 20090204034047A</guid></item><item><title>Updated Release: DanDoes.NET ContentGator Beta 1.1 (Jan 25, 2009)</title><link>http://www.codeplex.com/contentgator/Release/ProjectReleases.aspx?ReleaseId=22274</link><description>&lt;div&gt;
&lt;ul&gt;
&lt;li&gt;Fixed an issue with the MVC extension methods that caused content to not be aggregated.&lt;/li&gt;&lt;li&gt;Replaced all instances of the string &amp;quot;ScriptGator&amp;quot; with &amp;quot;ContentGator&amp;quot;.&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;</description><author>DanielSchaffer</author><pubDate>Sun, 25 Jan 2009 23:51:47 GMT</pubDate><guid isPermaLink="false">Updated Release: DanDoes.NET ContentGator Beta 1.1 (Jan 25, 2009) 20090125115147P</guid></item><item><title>Released: DanDoes.NET ContentGator Beta 1.1 (Jan 25, 2009)</title><link>http://www.codeplex.com/contentgator/Release/ProjectReleases.aspx?ReleaseId=22274</link><description>&lt;div&gt;
&lt;ul&gt;
&lt;li&gt;Fixed an issue with the MVC extension methods that caused content to not be aggregated.&lt;/li&gt;&lt;li&gt;Replaced all instances of the string &amp;quot;ScriptGator&amp;quot; with &amp;quot;ContentGator&amp;quot;.&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;</description><author></author><pubDate>Sun, 25 Jan 2009 23:51:44 GMT</pubDate><guid isPermaLink="false">Released: DanDoes.NET ContentGator Beta 1.1 (Jan 25, 2009) 20090125115144P</guid></item><item><title>Created Release: DanDoes.NET ContentGator Beta 1.1 (Jan 25, 2009)</title><link>http://www.codeplex.com/contentgator/Release/ProjectReleases.aspx?ReleaseId=22274</link><description>&lt;div&gt;
&lt;ul&gt;
&lt;li&gt;Fixed an issue with the MVC extension methods that caused content to not be aggregated.&lt;/li&gt;&lt;li&gt;Replaced all instances of the string &amp;quot;ScriptGator&amp;quot; with &amp;quot;ContentGator&amp;quot;.&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;</description><author>DanielSchaffer</author><pubDate>Sun, 25 Jan 2009 23:51:08 GMT</pubDate><guid isPermaLink="false">Created Release: DanDoes.NET ContentGator Beta 1.1 (Jan 25, 2009) 20090125115108P</guid></item><item><title>Source code checked in, #6057</title><link>http://www.codeplex.com/contentgator/SourceControl/ListDownloadableCommits.aspx</link><description>Changed all instances of the word &amp;#34;ScriptGator&amp;#34; to &amp;#34;ContentGator&amp;#34;</description><author>DanielSchaffer</author><pubDate>Sun, 25 Jan 2009 23:47:10 GMT</pubDate><guid isPermaLink="false">Source code checked in, #6057 20090125114710P</guid></item><item><title>Source code checked in, #6055</title><link>http://www.codeplex.com/contentgator/SourceControl/ListDownloadableCommits.aspx</link><description></description><author>DanielSchaffer</author><pubDate>Sun, 25 Jan 2009 23:44:20 GMT</pubDate><guid isPermaLink="false">Source code checked in, #6055 20090125114420P</guid></item></channel></rss>