<?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>Sometimes Interesting, Always Useful, Mostly Technical</title>
	<atom:link href="http://drayblog.gotdns.com/index.php/feed/" rel="self" type="application/rss+xml" />
	<link>http://drayblog.gotdns.com</link>
	<description>Information Technology, Life, Interesting Stumbles, Servers, Configuration, Topology, Security, Best Practices, Developing, Fire Fighting, Problem solving, Visual Studio 2005 - 2008 .NET 1.1 - 4, jQuery, JSON &#38; much much more</description>
	<lastBuildDate>Tue, 07 Feb 2012 18:57:12 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.2</generator>
		<item>
		<title>unable to download web platform product list</title>
		<link>http://drayblog.gotdns.com/index.php/2012/02/02/unable-to-download-web-platform-product-list/</link>
		<comments>http://drayblog.gotdns.com/index.php/2012/02/02/unable-to-download-web-platform-product-list/#comments</comments>
		<pubDate>Thu, 02 Feb 2012 09:34:04 +0000</pubDate>
		<dc:creator>Andre</dc:creator>
				<category><![CDATA[Annoyances]]></category>
		<category><![CDATA[Infrastructure]]></category>

		<guid isPermaLink="false">http://drayblog.gotdns.com/?p=541</guid>
		<description><![CDATA[Unable to download the Web Platform product list from . Check your network connection and try again. If the problem persists, report the issue on the Web Platform Installer forum at: http://go.microsoft.com/fwlink/?LinkId=145244. Applies to Web platform installer 3 on server 2008 Verify you can browse to http://www.microsoft.com/web/webpi/3.0/WebProductList.xml If you can then add the following registry [...]]]></description>
			<content:encoded><![CDATA[<blockquote><p>Unable to download the Web Platform product list from . Check your network connection and try again. If the problem persists, report the issue on the Web Platform Installer forum at: <a href="http://go.microsoft.com/fwlink/?LinkId=145244">http://go.microsoft.com/fwlink/?LinkId=145244</a>.</p></blockquote>
<p>Applies to Web platform installer 3 on server 2008</p>
<p>Verify you can browse to <a href="http://www.microsoft.com/web/webpi/3.0/WebProductList.xml">http://www.microsoft.com/web/webpi/3.0/WebProductList.xml</a></p>
<p>If you can then add the following registry key</p>
<p>HKLM\SOFTWARE|Microsoft\WebPlatformInstaller</p>
<p>Add string value (reg_sz) named "ProductXmlLocation"</p>
<p>Value <a href="http://www.microsoft.com/web/webpi/3.0/WebProductList.xml">http://www.microsoft.com/web/webpi/3.0/WebProductList.xml</a></p>
<p>Re run the Web Platform Installer and all should be well</p>
]]></content:encoded>
			<wfw:commentRss>http://drayblog.gotdns.com/index.php/2012/02/02/unable-to-download-web-platform-product-list/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Outlook 2010 Archive Now</title>
		<link>http://drayblog.gotdns.com/index.php/2011/11/25/outlook-2010-archive-now/</link>
		<comments>http://drayblog.gotdns.com/index.php/2011/11/25/outlook-2010-archive-now/#comments</comments>
		<pubDate>Fri, 25 Nov 2011 11:05:21 +0000</pubDate>
		<dc:creator>Andre</dc:creator>
				<category><![CDATA[Annoyances]]></category>

		<guid isPermaLink="false">http://drayblog.gotdns.com/?p=534</guid>
		<description><![CDATA[How to manually force outlook 2010 to auto archive now File &#62;&#62; clean up tools &#62;&#62; auto archive I wasted about 20 minutes trying to find it.]]></description>
			<content:encoded><![CDATA[<p>How to manually force outlook 2010 to auto archive now</p>
<p>File &gt;&gt; clean up tools &gt;&gt; auto archive</p>
<p>I wasted about 20 minutes trying to find it.</p>
]]></content:encoded>
			<wfw:commentRss>http://drayblog.gotdns.com/index.php/2011/11/25/outlook-2010-archive-now/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Terminal server has exceeded its maximum number of allowed connections</title>
		<link>http://drayblog.gotdns.com/index.php/2011/11/04/the-terminal-server-has-exceeded-its-maximum-number-of-allowed-connections/</link>
		<comments>http://drayblog.gotdns.com/index.php/2011/11/04/the-terminal-server-has-exceeded-its-maximum-number-of-allowed-connections/#comments</comments>
		<pubDate>Fri, 04 Nov 2011 12:36:59 +0000</pubDate>
		<dc:creator>Andre</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://drayblog.gotdns.com/?p=528</guid>
		<description><![CDATA[Using Terminal Services "mstsc" you see a message "The Terminal server has exceeded its maximum number of connections" Try using "mstsc /admin" Login as usual]]></description>
			<content:encoded><![CDATA[<p>Using Terminal Services "mstsc" you see a message</p>
<p>"The Terminal server has exceeded its maximum number of connections"</p>
<p>Try using "mstsc /admin"</p>
<p>Login as usual</p>
]]></content:encoded>
			<wfw:commentRss>http://drayblog.gotdns.com/index.php/2011/11/04/the-terminal-server-has-exceeded-its-maximum-number-of-allowed-connections/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>IIS The tracking (workstation) service is not running</title>
		<link>http://drayblog.gotdns.com/index.php/2011/11/04/iis-the-tracking-workstation-service-is-not-running/</link>
		<comments>http://drayblog.gotdns.com/index.php/2011/11/04/iis-the-tracking-workstation-service-is-not-running/#comments</comments>
		<pubDate>Fri, 04 Nov 2011 12:03:16 +0000</pubDate>
		<dc:creator>Andre</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://drayblog.gotdns.com/?p=525</guid>
		<description><![CDATA[An annoying error when you try to start a website "The tracking (workstation) service is not running" Easily resolved at the command line "net start httpfilter" now iisreset Everything should be back to normal]]></description>
			<content:encoded><![CDATA[<p>An annoying error when you try to start a website</p>
<p><strong>"The tracking (workstation) service is not running"</strong></p>
<p>Easily resolved<br />
at the command line "net start httpfilter"</p>
<p>now iisreset</p>
<p>Everything should be back to normal</p>
]]></content:encoded>
			<wfw:commentRss>http://drayblog.gotdns.com/index.php/2011/11/04/iis-the-tracking-workstation-service-is-not-running/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Steve Jobs Apple founder &amp; CEO born 24-2-1955 died 5-10-2011</title>
		<link>http://drayblog.gotdns.com/index.php/2011/10/06/steve-jobs-apple-founder-ceo-born-24-2-1955-died-5-10-2011/</link>
		<comments>http://drayblog.gotdns.com/index.php/2011/10/06/steve-jobs-apple-founder-ceo-born-24-2-1955-died-5-10-2011/#comments</comments>
		<pubDate>Thu, 06 Oct 2011 15:47:05 +0000</pubDate>
		<dc:creator>Andre</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://drayblog.gotdns.com/?p=518</guid>
		<description><![CDATA[Steve Jobs I am writing this post to show my admiration and respect to one of the worlds most amazing humans to have ever lived. His life long efforts and achievements are far reaching and profoundly impressive, he has proved to the world one man can make a difference. Steve passed away peacefully surrounded by [...]]]></description>
			<content:encoded><![CDATA[<p>Steve Jobs</p>
<p>I am writing this post to show my admiration and respect to one of the worlds most amazing humans to have ever lived.</p>
<p>His life long efforts and achievements are far reaching and profoundly impressive, he has proved to the world one man can make a difference.</p>
<p>Steve passed away peacefully surrounded by family on 5th October 2011</p>
<p><a title="The telegraph" href="http://www.telegraph.co.uk/technology/steve-jobs/8809997/Steve-Jobs-dies-live-blog.html" target="_blank">http://www.telegraph.co.uk/technology/steve-jobs/8809997/Steve-Jobs-dies-live-blog.html</a></p>
<p>His has left an imprint on mankind that will never be forgotten and will always be remembered until the end of time.</p>
<p><a title="MSNBC" href="http://www.msnbc.msn.com/id/44794300/ns/business-us_business/t/apple-says-co-founder-steve-jobs-has-died/?gt1=43001" target="_blank">http://www.msnbc.msn.com/id/44794300/ns/business-us_business/t/apple-says-co-founder-steve-jobs-has-died/?gt1=43001</a></p>
<p><a title="wiki pedia" href="http://en.wikipedia.org/wiki/Steve_Jobs" target="_blank">http://en.wikipedia.org/wiki/Steve_Jobs</a></p>
<p>He was an inspiration to millions</p>
<p><a title="Stanford Commencement speech" href="http://www.facebook.com/l.php?u=http%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3DD1R-jKKp3NA&amp;h=HAQAy6KDTAQDRKRboPfqRq2tAJRznrf0o2gkaifkcfHX01g" target="_blank">http://www.facebook.com/l.php?u=http%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3DD1R-jKKp3NA&amp;h=HAQAy6KDTAQDRKRboPfqRq2tAJRznrf0o2gkaifkcfHX01g</a></p>
<p>He stuck to his word and never faltered when challenged</p>
<p><a title="All things digital conference 2010" href="http://www.youtube.com/watch?v=a20s-blv3b4" target="_blank">http://www.youtube.com/watch?v=a20s-blv3b4</a></p>
<p>"That's been one of my mantras - focus and simplicity. Simple can be harder than complex: you have to work hard to get your thinking clean to make it simple. But it's worth it in the end because once you get there, you can move mountains." Steve Jobs Interview with Business Week, 1998</p>
<p>He was a true visionary</p>
<p>"The most compelling reason for most people to buy a computer for the home will be to link it to a nationwide communications network. We're just in the beginning stages of what will be a truly remarkable breakthrough for most people - as remarkable as the telephone."<br />
Steve Jobs Interview with Playboy magazine, 1985 - the man was a true visionary</p>
<p>Steve Jobs was a one off; a man who had total belief in his own abilities and a shortage of patience for anyone who failed to agree with him.<br />
His great gifts were an ability to second guess the market and an eye for well designed and innovative products that everyone would buy.<br />
"You can't just ask customers what they want and then try to give that to them," he once said. "By the time you get it built, they'll want something new."</p>
<p>Where it all began</p>
<p><a title="the first steps" href="http://www.bbc.co.uk/news/business-14659843" target="_blank">http://www.bbc.co.uk/news/business-14659843</a></p>
<p>"Steve was among the greatest of American innovators - brave enough to think differently, bold enough to believe he could change the world, and talented enough to do it.<br />
"By building one of the planet's most successful companies from his garage, he exemplified the spirit of American ingenuity....<br />
"By making computers personal and putting the internet in our pockets, he made the information revolution not only accessible, but intuitive and fun.<br />
"The world has lost a visionary. And there may be no greater tribute to Steve's success than the fact that much of the world learned of his passing on a device he invented."<br />
The US President Barrack Obama</p>
<p>“Steve and I first met nearly 30 years ago, and have been colleagues,  competitors and friends over the course of more than half our lives, The world rarely sees someone who has had the profound impact Steve has  had, the effects of which will be felt for many generations to come. For those  of us lucky enough to get to work with him, it’s been an insanely great honor. I  will miss Steve immensely.”<br />
Bill Gates, Microsoft co-founder</p>
<p>"He always seemed to be able to say in very few words what you actually should have been thinking before you thought it."<br />
Larry Page, chief executive, Google</p>
<p>Steve Jobs, he is apple, a visionary who saw the power of digital technology to change the way we live<br />
<a title="BBC" href="http://www.bbc.co.uk/news/technology-15194056" target="_blank">http://www.bbc.co.uk/news/technology-15194056</a></p>
<p>Forbes<br />
<a title="Forbes" href="http://www.forbes.com/sites/mobiledia/2011/10/06/bill-gates-mark-zuckerberg-pay-tribute-to-steve-jobs/" target="_blank">http://www.forbes.com/sites/mobiledia/2011/10/06/bill-gates-mark-zuckerberg-pay-tribute-to-steve-jobs/</a></p>
<p>"3 Apples changed the World, 1st one seduced Eve, 2nd fell on Newton and the 3rd was offered to the World half bitten by Steve Jobs."</p>
<p>A life in computers<br />
<a title="The Telegraph" href="http://www.telegraph.co.uk/technology/steve-jobs/8725655/Steve-Jobs-A-life-in-computers.html" target="_blank">http://www.telegraph.co.uk/technology/steve-jobs/8725655/Steve-Jobs-A-life-in-computers.html</a></p>
<p>Although I never knew you I feel privileged to have shared this short period in time with you Steve</p>
<p>May you Rest In Peace</p>
<p>Here's to the crazy ones<br />
<a title="Tribute to the crazy ones" href="http://www.youtube.com/watch?feature=player_embedded&amp;v=8rwsuXHA7RA" target="_blank">http://www.youtube.com/watch?feature=player_embedded&amp;v=8rwsuXHA7RA</a></p>
]]></content:encoded>
			<wfw:commentRss>http://drayblog.gotdns.com/index.php/2011/10/06/steve-jobs-apple-founder-ceo-born-24-2-1955-died-5-10-2011/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>.NET Entity Layer The member with identity &#8216;Result&#8217; does not exist in the metadata collection</title>
		<link>http://drayblog.gotdns.com/index.php/2011/09/21/net-entity-layer-the-member-with-identity-result-does-not-exist-in-the-metadata-collection/</link>
		<comments>http://drayblog.gotdns.com/index.php/2011/09/21/net-entity-layer-the-member-with-identity-result-does-not-exist-in-the-metadata-collection/#comments</comments>
		<pubDate>Wed, 21 Sep 2011 10:32:09 +0000</pubDate>
		<dc:creator>Andre</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[Annoyances]]></category>
		<category><![CDATA[Entity Framework 4.0]]></category>

		<guid isPermaLink="false">http://drayblog.gotdns.com/?p=514</guid>
		<description><![CDATA["The member with identity 'Result' does not exist in the metadata collection. Parameter name: identity" If you have stumbled across this error when trying to perform a transaction against your DB or any other action via your entity layer. If it is indeed a Microsoft SQL Database or any other database I would highly recommend [...]]]></description>
			<content:encoded><![CDATA[<p><em>"The member with identity 'Result' does not exist in the metadata  collection.<br />
Parameter name: identity"</em></p>
<p>If you have stumbled across this error when trying to perform a transaction against your DB or any other action via your entity layer. If it is indeed a Microsoft SQL Database or any other database I would highly recommend you disable triggers on the affected tables and re run your test.</p>
<p>This error is the entity layer running home to its default error when either the error cannot be translated or the what ever is being returned from the transaction cannot be understood.</p>
<p>So if you stumble across this error, its because the entity layer is performing an operation that is causing a secondary separate operation which is where the underlying error is kicking back from, either because an error was raised or because the return is in an unexpected format.</p>
]]></content:encoded>
			<wfw:commentRss>http://drayblog.gotdns.com/index.php/2011/09/21/net-entity-layer-the-member-with-identity-result-does-not-exist-in-the-metadata-collection/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ASP.NET Combine &amp; Minify CSS &amp; JSS on the fly (Also tested in Umbraco) in 5 easy steps</title>
		<link>http://drayblog.gotdns.com/index.php/2011/09/20/combine-minify-on-the-fly/</link>
		<comments>http://drayblog.gotdns.com/index.php/2011/09/20/combine-minify-on-the-fly/#comments</comments>
		<pubDate>Tue, 20 Sep 2011 18:42:12 +0000</pubDate>
		<dc:creator>Andre</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[Configuration]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[VB]]></category>
		<category><![CDATA[optimisation]]></category>

		<guid isPermaLink="false">http://drayblog.gotdns.com/?p=492</guid>
		<description><![CDATA[Automatically Combine, minify, compress and much more on the fly. Here you will learn in 5 steps how to implement the combine and minify project originally from codeplex into any .net application. I've just tested this on an Umbraco installation and it works flawlessly, the project also makes use of 2 open source libraries. The original project can be [...]]]></description>
			<content:encoded><![CDATA[<p>Automatically Combine, minify, compress and much more on the fly.<br />
Here you will learn in 5 steps how to implement the combine and minify project originally from codeplex into any .net application. I've just tested this on an Umbraco installation and it works flawlessly, the project also makes use of 2 open source libraries.</p>
<p>The original project can be found <a href="http://combineandminify.codeplex.com/">http://combineandminify.codeplex.com/</a> I have converted this project from c# to vb and made some considerable further optimisations in the code around the caching mechanism.</p>
<p>The two other libraries included are:</p>
<p><a href="http://code.google.com/p/atomsite/source/browse/trunk/Dependencies/EcmaScript.NET.modified.dll?r=174">EcmaScript.NET.modified.dll</a><br />
<a href="http://yuicompressor.codeplex.com/wikipage?title=Sample%20MSBuild.xml%20File">Yahoo.Yui.Compressor.dll</a></p>
<p>Along with a lot of custom code to automatically provide a cached based minify &amp; compress  for your css &amp; jss files. But it doesn't stop there you can also use this project to remove white space from the html rendering to the client (default operation), all comments and commented code in .js and .css file includes is striped , you can insert VersionId's in font urls and images and even preload images.</p>
<p>Ok so lets break it down.</p>
<p><strong>What does it do and how?</strong></p>
<p>Taking the .js and .css includes in particular, during the request life-cycle of the .net engine combineAndMinify will scan the header of the page just prior to rendering to the client, it will collect up the .js and .css includes, minify, compress, remove comments and white spaces and place the new combined content into the cache. So that's one cache record for the .js and one for the .css. It will then strip out all the include references from the page header and replace them with a unique include reference pointing to the cached version for the browser to process. in your webconfig you have told IIS that all requests to .js and .css files must be routed through the combineandminify class, so when the browser then requests the include eg 33212cce52b6065a.js, the combineAndMinify handler then pulls the content from the cache and sends it to the client.</p>
<p>This process optimises your site in two ways, it caches the includes, and provides the client with only one include per type to request from the server.</p>
<p>The unique names are calculated using logic on various aspects, for example if you wished that the caching occur per page or for the entire website at domain level.</p>
<p>Out of the box the combineAndMinify is intelligent enough not to touch any include that references a different domain, and is in fact very customisable in that respect.</p>
<p>Furthermore it also knows when any of the files that it has cached change and will automatically update the cached version on the active request the change has been detected on.</p>
<p>See the full spec on codeplex.</p>
<p><strong>Configuration settings:</strong></p>
<table style="width: 100%;">
<tbody>
<tr>
<td colspan="3"><strong>configuration&gt;combineAndMinify</strong></td>
</tr>
<tr>
<td style="width: 175px;"><strong>Config Attribute</strong></td>
<td style="width: 101px;"><strong>Default Value</strong></td>
<td style="width: 127px;"><strong>Possbile Values</strong></td>
</tr>
<tr>
<td style="width: 175px;">removeWhitespace</td>
<td style="width: 101px;">false</td>
<td style="width: 127px;">true/false</td>
</tr>
<tr>
<td style="width: 175px;">insertVersionIdInFontUrls</td>
<td style="width: 101px;">false</td>
<td style="width: 127px;">true/false</td>
</tr>
<tr>
<td style="width: 175px;">insertVersionIdInImageUrls</td>
<td style="width: 101px;">false</td>
<td style="width: 127px;">true/false</td>
</tr>
<tr>
<td style="width: 175px;">makeImageUrlsLowercase</td>
<td style="width: 101px;">false</td>
<td style="width: 127px;">true/false</td>
</tr>
<tr>
<td style="width: 175px;">prioritizedImages</td>
<td style="width: 101px;">true</td>
<td style="width: 127px;">true/false</td>
</tr>
<tr>
<td style="width: 175px;">preloadAllImages</td>
<td style="width: 101px;">false</td>
<td style="width: 127px;">true/false</td>
</tr>
<tr>
<td style="width: 175px;">cookielessDomains</td>
<td style="width: 101px;"></td>
<td style="width: 127px;"></td>
</tr>
<tr>
<td style="width: 175px;">enableCookielessDomains</td>
<td style="width: 101px;">Always</td>
<td style="width: 127px;">Never<br />
Always/ReleaseModeOnly/DebugModeOnly</td>
</tr>
<tr>
<td style="width: 175px;">minifyJavaScript</td>
<td style="width: 101px;">true</td>
<td style="width: 127px;">true/false</td>
</tr>
<tr>
<td style="width: 175px;">minifyCSS</td>
<td style="width: 101px;">true</td>
<td style="width: 127px;">true/false</td>
</tr>
<tr>
<td style="width: 175px;">combineJavaScriptFiles</td>
<td style="width: 101px;">PerGroup</td>
<td style="width: 127px;">None/PerGroup/All</td>
</tr>
<tr>
<td style="width: 175px;">combineCSSFiles</td>
<td style="width: 101px;">PerGroup</td>
<td style="width: 127px;">None/PerGroup/All</td>
</tr>
<tr>
<td style="width: 175px;">headCaching</td>
<td style="width: 101px;">None</td>
<td style="width: 127px;">None/PerSite/PerFolder/PerPage/PerUrl</td>
</tr>
<tr>
<td style="width: 175px;">exceptionOnMissingFile</td>
<td style="width: 101px;">Never</td>
<td style="width: 127px;">Never/Always/ReleaseModeOnly/DebugModeOnly</td>
</tr>
<tr>
<td style="width: 175px;">active</td>
<td style="width: 101px;">ReleaseModeOnly</td>
<td style="width: 127px;">Never/Always/ReleaseModeOnly/DebugModeOnly</td>
</tr>
</tbody>
</table>
<p>If your even half technical you can guess what half of these configuration settings do, if you need a further understanding on all the configuration settings please visit the codeplex project website because its beyond the scope of this how to.</p>
<p><strong>Implementation</strong></p>
<ol>
<li>Copy the binaries to your bin folder and add references to them or include the project into your solution</li>
<li>Copy and rename "HeadAdapter.browser.txt" to HeadAdapter.browser to your App_Browsers folder</li>
<li>make the required changes to your web.config file</li>
<li>change the combineAndMinify config attribute "active" from "Never" to "Always"</li>
<li>test the solution in firefox, ie or chrome and verify the compression in <a title="FireBug for FireFox" href="https://addons.mozilla.org/en-US/firefox/search/?q=firebug&amp;cat=all" target="_blank">firebug</a> <a title="F12 Developer tools for internet explorer" href="http://msdn.microsoft.com/en-us/ie/hh440435" target="_blank">F12 Developer tools</a> or <a title="Firebug lite for chrome" href="https://chrome.google.com/webstore/search?q=firebug+lite" target="_blank">FireBug Lite</a> respectively.</li>
</ol>
<p>The vb.net converted, enhanced version of the project compiled to binaries and other  files you will need:</p>
<p><a href="http://drayblog.gotdns.com/wp-content/uploads/2011/09/CombineAndMinify_Dlls.zip">CombineAndMinify_Dlls</a></p>
<p><a href="http://drayblog.gotdns.com/wp-content/uploads/2011/09/HeadAdapter.browser.txt">HeadAdapter.browser.txt</a></p>
<p><a href="http://drayblog.gotdns.com/wp-content/uploads/2011/09/web.config.txt">web.config.txt</a></p>
<p>If anyone has any problems at all, I will help where I can. If you want the vb.net version of this project then let me know and I'll send it over.</p>
]]></content:encoded>
			<wfw:commentRss>http://drayblog.gotdns.com/index.php/2011/09/20/combine-minify-on-the-fly/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Forms Authentication static content not loading</title>
		<link>http://drayblog.gotdns.com/index.php/2011/08/17/forms-authentication-static-content-not-loading/</link>
		<comments>http://drayblog.gotdns.com/index.php/2011/08/17/forms-authentication-static-content-not-loading/#comments</comments>
		<pubDate>Wed, 17 Aug 2011 18:29:54 +0000</pubDate>
		<dc:creator>Andre</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://drayblog.gotdns.com/?p=482</guid>
		<description><![CDATA[Using forms authentication, you may find that your css is not being applied, or other such static media isnt loading when you are not authenticated, ie when not logged in. In order to diagnose where the problem is you need to understand how forms authentication walks hand in hand with IIS regardless if you are [...]]]></description>
			<content:encoded><![CDATA[<p>Using forms authentication, you may find that your css is not being applied, or other such static media isnt loading when you are not authenticated, ie when not logged in.</p>
<p>In order to diagnose where the problem is you need to understand how forms authentication walks hand in hand with IIS regardless if you are forcing all requests through the .net api or not.</p>
<p><strong>The Scope of Forms Authentication</strong></p>
<p>The FormsAuthenticationModule is managed code that is part of the ASP.NET runtime. Prior to version 7 of Microsoft's Internet Information Services (IIS) web server, there was a distinct barrier between IIS's HTTP pipeline and the ASP.NET runtime's pipeline. In short, in IIS 6 and earlier, the FormsAuthenticationModule only executes when a request is delegated from IIS to the ASP.NET runtime. By default, IIS processes static content itself - like HTML pages and CSS and image files - and only hands off requests to the ASP.NET runtime when a page with an extension of .aspx, .asmx, or .ashx is requested.</p>
<p>IIS 7, however, allows for integrated IIS and ASP.NET pipelines. With a few configuration settings you can setup IIS 7 to invoke the FormsAuthenticationModule for all requests. Furthermore, with IIS 7 you can define URL authorization rules for files of any type. For more information, see Changes Between IIS6 and IIS7 Security, Your Web Platform Security, and Understanding IIS7 URL Authorization.</p>
<p>Long story short, in versions prior to IIS 7, you can only use forms authentication to protect resources handled by the ASP.NET runtime. Likewise, URL authorization rules are only applied to resources handled by the ASP.NET runtime. But with IIS 7 it is possible to integrate the FormsAuthenticationModule and UrlAuthorizationModule into IIS's HTTP pipeline, thereby extending this functionality to all requests.</p>
<p><strong>If you want IIS to integrate the dynamic and static content with the forms authentication module you set your application pool to "integrated" mode, if not you set it to "classic" mode, separating the authentication module from the static content such as css files and other such media.</strong></p>
<p><strong>Configuring forms based authentication</strong></p>
<p>you typically use the webconfig file to setup security topology of your website, below is n example of a webconfig root entry to apply security to folder and files of your website application</p>
<p>here we are allowing all users to have access to the folder "css" found on the root of the web application</p>
<pre class="xml">&nbsp;
<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;location</span> <span style="color: #000066;">path</span>=<span style="color: #ff0000;">&quot;css&quot;</span><span style="font-weight: bold; color: black;">&gt;</span></span>
    <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;system</span>.web<span style="font-weight: bold; color: black;">&gt;</span></span>
      <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;authorization<span style="font-weight: bold; color: black;">&gt;</span></span></span>
        <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;allow</span> <span style="color: #000066;">users</span>=<span style="color: #ff0000;">&quot;*&quot;</span><span style="font-weight: bold; color: black;">/&gt;</span></span>
      <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/authorization<span style="font-weight: bold; color: black;">&gt;</span></span></span>
    <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/system</span>.web<span style="font-weight: bold; color: black;">&gt;</span></span>
  <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/location<span style="font-weight: bold; color: black;">&gt;</span></span></span>
&nbsp;</pre>
<p>similarly here we grant access to all users for the themes folder</p>
<pre class="xml">&nbsp;
  <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;location</span> <span style="color: #000066;">path</span>=<span style="color: #ff0000;">&quot;App_Themes&quot;</span><span style="font-weight: bold; color: black;">&gt;</span></span>
    <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;system</span>.web<span style="font-weight: bold; color: black;">&gt;</span></span>
      <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;authorization<span style="font-weight: bold; color: black;">&gt;</span></span></span>
        <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;allow</span> <span style="color: #000066;">users</span>=<span style="color: #ff0000;">&quot;*&quot;</span><span style="font-weight: bold; color: black;">/&gt;</span></span>
      <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/authorization<span style="font-weight: bold; color: black;">&gt;</span></span></span>
    <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/system</span>.web<span style="font-weight: bold; color: black;">&gt;</span></span>
  <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/location<span style="font-weight: bold; color: black;">&gt;</span></span></span>
&nbsp;</pre>
<p>In this example we want only those users in the Admin role to have access to the contents of the Admin folder</p>
<pre class="xml">&nbsp;
	<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;location</span> <span style="color: #000066;">path</span>=<span style="color: #ff0000;">&quot;Admin&quot;</span><span style="font-weight: bold; color: black;">&gt;</span></span>
		<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;system</span>.web<span style="font-weight: bold; color: black;">&gt;</span></span>
			<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;authorization<span style="font-weight: bold; color: black;">&gt;</span></span></span>
				<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;allow</span> <span style="color: #000066;">roles</span>=<span style="color: #ff0000;">&quot;Admin&quot;</span><span style="font-weight: bold; color: black;">/&gt;</span></span>
				<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;deny</span> <span style="color: #000066;">users</span>=<span style="color: #ff0000;">&quot;*&quot;</span><span style="font-weight: bold; color: black;">/&gt;</span></span>
			<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/authorization<span style="font-weight: bold; color: black;">&gt;</span></span></span>
<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;pages</span> <span style="color: #000066;">styleSheetTheme</span>=<span style="color: #ff0000;">&quot;Admin&quot;</span> <span style="color: #000066;">validateRequest</span>=<span style="color: #ff0000;">&quot;false&quot;</span><span style="font-weight: bold; color: black;">&gt;</span></span>
			<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/pages<span style="font-weight: bold; color: black;">&gt;</span></span></span>
		<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/system</span>.web<span style="font-weight: bold; color: black;">&gt;</span></span>
	<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/location<span style="font-weight: bold; color: black;">&gt;</span></span></span>
&nbsp;</pre>
<p>Another post you may find useful <a href="http://scottonwriting.net/sowblog/archive/2009/09/28/163364.aspx">http://scottonwriting.net/sowblog/archive/2009/09/28/163364.aspx</a></p>
]]></content:encoded>
			<wfw:commentRss>http://drayblog.gotdns.com/index.php/2011/08/17/forms-authentication-static-content-not-loading/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>String.replace ignorecase</title>
		<link>http://drayblog.gotdns.com/index.php/2011/08/03/string-replace-ignorecase/</link>
		<comments>http://drayblog.gotdns.com/index.php/2011/08/03/string-replace-ignorecase/#comments</comments>
		<pubDate>Wed, 03 Aug 2011 15:37:16 +0000</pubDate>
		<dc:creator>Andre</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[ASP]]></category>
		<category><![CDATA[VB]]></category>

		<guid isPermaLink="false">http://drayblog.gotdns.com/?p=478</guid>
		<description><![CDATA[Replace a string but ignore the case, I keep forgetting about this little handy function Heres an example of usage &#160; 'Import the library you need to use Imports System.Text.RegularExpressions 'set up some vars here to play with Dim TheString As String = &#34;fint THAT String I need to change&#34; Dim ReplaceText As String = [...]]]></description>
			<content:encoded><![CDATA[<p>Replace a string but ignore the case, I keep forgetting about this little handy function</p>
<p>Heres an example of usage</p>
<pre class="vb">&nbsp;
<span style="color: #808080;">'Import the library you need to use</span>
Imports System.<span style="color: #66cc66;">Text</span>.<span style="color: #66cc66;">RegularExpressions</span>
<span style="color: #808080;">'set up some vars here to play with</span>
<span style="color: #b1b100;">Dim</span> TheString <span style="color: #b1b100;">As</span> <span style="color: #b1b100;">String</span> = <span style="color: #ff0000;">&quot;fint THAT String I need to change&quot;</span>
<span style="color: #b1b100;">Dim</span> ReplaceText <span style="color: #b1b100;">As</span> <span style="color: #b1b100;">String</span> = <span style="color: #ff0000;">&quot;the&quot;</span>
<span style="color: #b1b100;">Dim</span> TheResultsString <span style="color: #b1b100;">As</span> <span style="color: #b1b100;">String</span>
&nbsp;
<span style="color: #808080;">'INSTEAD OF THIS</span>
TheResultsString = TheString.<span style="color: #66cc66;">Replace</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;THAT&quot;</span>, ReplaceText<span style="color: #66cc66;">&#41;</span>
<span style="color: #808080;">'DO THIS</span>
TheResultsString = Regex.<span style="color: #66cc66;">Replace</span><span style="color: #66cc66;">&#40;</span>TheString, <span style="color: #ff0000;">&quot;that&quot;</span>, ReplaceText, RegexOptions.<span style="color: #66cc66;">IgnoreCase</span><span style="color: #66cc66;">&#41;</span>
&nbsp;</pre>
]]></content:encoded>
			<wfw:commentRss>http://drayblog.gotdns.com/index.php/2011/08/03/string-replace-ignorecase/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>the upgrade key you entered is for an edition of windows that does not work with windows anytime</title>
		<link>http://drayblog.gotdns.com/index.php/2011/07/26/the-upgrade-key-you-entered-is-for-an-edition-of-windows-that-does-not-work-with-windows-anytime/</link>
		<comments>http://drayblog.gotdns.com/index.php/2011/07/26/the-upgrade-key-you-entered-is-for-an-edition-of-windows-that-does-not-work-with-windows-anytime/#comments</comments>
		<pubDate>Tue, 26 Jul 2011 09:16:44 +0000</pubDate>
		<dc:creator>Andre</dc:creator>
				<category><![CDATA[Annoyances]]></category>
		<category><![CDATA[Infrastructure]]></category>

		<guid isPermaLink="false">http://drayblog.gotdns.com/?p=474</guid>
		<description><![CDATA[the upgrade key you entered is for an edition of windows that does not work with windows anytime upgrade If you are using a valid product key - and you are sure it is valid rebooting the computer should allow the process to complete successfully]]></description>
			<content:encoded><![CDATA[<blockquote><p>the upgrade key you entered is for an edition of windows that does not work with windows anytime upgrade</p></blockquote>
<p>If you are using a valid product key - and you are sure it is valid</p>
<p>rebooting the computer should allow the process to complete successfully </p>
]]></content:encoded>
			<wfw:commentRss>http://drayblog.gotdns.com/index.php/2011/07/26/the-upgrade-key-you-entered-is-for-an-edition-of-windows-that-does-not-work-with-windows-anytime/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

