<?xml version="1.0" encoding="utf-8"?><rss version="2.0"><channel><title>Mike Dopp</title><link>https://weblogs.asp.net:443/mikedopp/</link><description>Asp.net? in't that a way to catch a snake?</description><item><title>How to use SSL and Host Headers</title><link>https://weblogs.asp.net:443/mikedopp/how-to-use-ssl-and-host-headers</link><description>&lt;p&gt;SSL Host Headers? Does it really exist? &lt;/p&gt;  &lt;p&gt;Yes however somewhat tricky.&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;You need to have a Wildcard or *.domain.com SSL certificate.&lt;/li&gt;    &lt;li&gt;Your domains need to be all sub-domains of the wild card domain&lt;/li&gt;    &lt;li&gt;You just can’t do it using the IIS inetmgr user interface.&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://technet2.microsoft.com/WindowsServer/en/library/1032c063-e372-4875-9a31-d6de8e1e87921033.mspx?mfr=true"&gt;http://technet2.microsoft.com/WindowsServer/en/library/1032c063-e372-4875-9a31-d6de8e1e87921033.mspx?mfr=true&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;In short, to add an SSL host header, run the following:   &lt;br /&gt;cscript.exe adsutil.vbs SET /w3svc/&lt;em&gt;&amp;lt;site identifier&amp;gt;&lt;/em&gt;/SecureBindings “:443&lt;em&gt;:&amp;lt;host header&amp;gt;&lt;/em&gt;“&lt;/p&gt;  &lt;p&gt;To get the site identifier you can run the following:   &lt;br /&gt;cscript.exe adsutil.vbs ENUM Path “/P”&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:78fa22fb-5fbb-4aa4-a956-04fae381efd6" class="wlWriterEditableSmartContent"&gt;Flickr Tags: &lt;a href="http://flickr.com/photos/tags/SSL+and+Host+Headers" rel="tag"&gt;SSL and Host Headers&lt;/a&gt;, &lt;a href="http://flickr.com/photos/tags/Using+SSL+and+Host+Headers" rel="tag"&gt;Using SSL and Host Headers&lt;/a&gt;, &lt;a href="http://flickr.com/photos/tags/Wildcard+SSL" rel="tag"&gt;Wildcard SSL&lt;/a&gt;&lt;/div&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:3a7d4813-54a8-4ee7-b246-e4219d475406" class="wlWriterEditableSmartContent"&gt;BuzzNet Tags: &lt;a href="http://www.buzznet.com/tags/SSL+and+Host+Headers/" rel="tag"&gt;SSL and Host Headers&lt;/a&gt;, &lt;a href="http://www.buzznet.com/tags/Using+SSL+and+Host+Headers/" rel="tag"&gt;Using SSL and Host Headers&lt;/a&gt;, &lt;a href="http://www.buzznet.com/tags/Wildcard+SSL/" rel="tag"&gt;Wildcard SSL&lt;/a&gt;&lt;/div&gt;  &lt;p&gt;&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:1cc49b5c-02f5-4621-9cfc-44ea5250cef7" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/SSL+and+Host+Headers" rel="tag"&gt;SSL and Host Headers&lt;/a&gt;, &lt;a href="http://technorati.com/tags/Using+SSL+and+Host+Headers" rel="tag"&gt;Using SSL and Host Headers&lt;/a&gt;, &lt;a href="http://technorati.com/tags/Wildcard+SSL" rel="tag"&gt;Wildcard SSL&lt;/a&gt;&lt;/div&gt;  &lt;p&gt;&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:99cf9569-f2d8-4870-b55f-5914664a01ac" class="wlWriterEditableSmartContent"&gt;del.icio.us Tags: &lt;a href="http://del.icio.us/popular/SSL+and+Host+Headers" rel="tag"&gt;SSL and Host Headers&lt;/a&gt;, &lt;a href="http://del.icio.us/popular/Using+SSL+and+Host+Headers" rel="tag"&gt;Using SSL and Host Headers&lt;/a&gt;, &lt;a href="http://del.icio.us/popular/Wildcard+SSL" rel="tag"&gt;Wildcard SSL&lt;/a&gt;&lt;/div&gt;  &lt;p&gt;&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:22333399-409b-4bdf-ae65-54ac5d605c57" class="wlWriterEditableSmartContent"&gt;IceRocket Tags: &lt;a href="http://blogs.icerocket.com/search?q=SSL+and+Host+Headers" rel="tag"&gt;SSL and Host Headers&lt;/a&gt;, &lt;a href="http://blogs.icerocket.com/search?q=Using+SSL+and+Host+Headers" rel="tag"&gt;Using SSL and Host Headers&lt;/a&gt;, &lt;a href="http://blogs.icerocket.com/search?q=Wildcard+SSL" rel="tag"&gt;Wildcard SSL&lt;/a&gt;&lt;/div&gt;  &lt;p&gt;&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:f33fe724-8145-4937-984d-401b6df5e8be" class="wlWriterEditableSmartContent"&gt;LiveJournal Tags: &lt;a href="http://www.livejournal.com/interests.bml?int=SSL+and+Host+Headers" rel="tag"&gt;SSL and Host Headers&lt;/a&gt;, &lt;a href="http://www.livejournal.com/interests.bml?int=Using+SSL+and+Host+Headers" rel="tag"&gt;Using SSL and Host Headers&lt;/a&gt;, &lt;a href="http://www.livejournal.com/interests.bml?int=Wildcard+SSL" rel="tag"&gt;Wildcard SSL&lt;/a&gt;&lt;/div&gt;  &lt;p&gt;&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:02f27ace-3d6b-4b86-9119-b9a9b2ad5813" class="wlWriterEditableSmartContent"&gt;43 Things Tags: &lt;a href="http://www.43things.com/tag/SSL+and+Host+Headers" rel="tag"&gt;SSL and Host Headers&lt;/a&gt;, &lt;a href="http://www.43things.com/tag/Using+SSL+and+Host+Headers" rel="tag"&gt;Using SSL and Host Headers&lt;/a&gt;, &lt;a href="http://www.43things.com/tag/Wildcard+SSL" rel="tag"&gt;Wildcard SSL&lt;/a&gt;&lt;/div&gt;</description><pubDate>Thu, 18 Jun 2009 07:46:00 GMT</pubDate><guid isPermaLink="true">https://weblogs.asp.net:443/mikedopp/how-to-use-ssl-and-host-headers</guid><category>HowTo</category><category>IIS</category><category>Windows Server</category></item><item><title>Testing and Editing SMTP Email without having a SMTP Server Running</title><link>https://weblogs.asp.net:443/mikedopp/testing-and-editing-smtp-email-without-having-a-smtp-server-running</link><description>&lt;p&gt;Being a System Administrator as well as a Web Developer I run into issues with the Mail protocol SMTP. &lt;/p&gt;  &lt;p&gt;Things hang or people want their email better formatted. Or simply test out you spam messages you are going to blast before you well blast them. &lt;/p&gt;  &lt;p&gt;Of course you run into issues like is my ports open correctly, is the SMTP server setup to block relaying? Has my domain been blacklisted from spamming? &lt;/p&gt;  &lt;p&gt;These kind of questions are important. While I can’t fix the blacklisting domain issue the rest is well my night job. &lt;/p&gt;  &lt;p&gt;However during the day I develop lots and lots of web code and sometimes and most often these applications need a way to contact people via email, txt and so forth. &lt;/p&gt;  &lt;p&gt;Being behind a great firewall and sending test email can be a long and drawn out process. I found a&amp;#160; great application to do the SMTP testing for you inside you own localhost(127.0.0.1) Yes that is my localhost ip if you would like to “hack me” go ahead Ill wait.(if you don’t already know that is the IP of your pc).&lt;/p&gt;  &lt;h2&gt;&lt;a href="http://invalidlogic.com/papercut/" target="_blank"&gt;PaperCut&lt;/a&gt;&lt;/h2&gt;  &lt;p&gt;This little app allows you to send SMTP messages without sending them anywhere.&lt;/p&gt;  &lt;p&gt;&lt;a href="https://aspblogs.blob.core.windows.net/media/mikedopp/Media/screenshot1_3BD7243D.jpg"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="screenshot1" border="0" alt="screenshot1" src="https://aspblogs.blob.core.windows.net/media/mikedopp/Media/screenshot1_thumb_7EDAA4BD.jpg" width="482" height="269" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;Paper Cut is my favorite application for development. It allows me to debug the SMTP messages without sending them to anyone.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:d7831c33-dc80-4aef-b424-1d5597b5c70f" class="wlWriterSmartContent"&gt;Flickr Tags: &lt;a href="http://flickr.com/photos/tags/Test+your+Email+without+emailing" rel="tag"&gt;Test your Email without emailing&lt;/a&gt;, &lt;a href="http://flickr.com/photos/tags/Cool+SMTP+hijacker" rel="tag"&gt;Cool SMTP hijacker&lt;/a&gt;, &lt;a href="http://flickr.com/photos/tags/PaperCut" rel="tag"&gt;PaperCut&lt;/a&gt;, &lt;a href="http://flickr.com/photos/tags/SMTP+Hijacker" rel="tag"&gt;SMTP Hijacker&lt;/a&gt;, &lt;a href="http://flickr.com/photos/tags/IIS" rel="tag"&gt;IIS&lt;/a&gt;&lt;/div&gt;  &lt;p&gt;&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:46dac418-818d-449d-a060-c24e6e385029" class="wlWriterSmartContent"&gt;BuzzNet Tags: &lt;a href="http://www.buzznet.com/tags/Test+your+Email+without+emailing/" rel="tag"&gt;Test your Email without emailing&lt;/a&gt;, &lt;a href="http://www.buzznet.com/tags/Cool+SMTP+hijacker/" rel="tag"&gt;Cool SMTP hijacker&lt;/a&gt;, &lt;a href="http://www.buzznet.com/tags/PaperCut/" rel="tag"&gt;PaperCut&lt;/a&gt;, &lt;a href="http://www.buzznet.com/tags/SMTP+Hijacker/" rel="tag"&gt;SMTP Hijacker&lt;/a&gt;, &lt;a href="http://www.buzznet.com/tags/IIS/" rel="tag"&gt;IIS&lt;/a&gt;&lt;/div&gt;  &lt;p&gt;&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:41f1a981-9792-4cd4-81f6-0d6bfe445e70" class="wlWriterSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/Test+your+Email+without+emailing" rel="tag"&gt;Test your Email without emailing&lt;/a&gt;, &lt;a href="http://technorati.com/tags/Cool+SMTP+hijacker" rel="tag"&gt;Cool SMTP hijacker&lt;/a&gt;, &lt;a href="http://technorati.com/tags/PaperCut" rel="tag"&gt;PaperCut&lt;/a&gt;, &lt;a href="http://technorati.com/tags/SMTP+Hijacker" rel="tag"&gt;SMTP Hijacker&lt;/a&gt;, &lt;a href="http://technorati.com/tags/IIS" rel="tag"&gt;IIS&lt;/a&gt;&lt;/div&gt;  &lt;p&gt;&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:8656f939-faff-4dae-b680-50c19ffb3bc3" class="wlWriterSmartContent"&gt;del.icio.us Tags: &lt;a href="http://del.icio.us/popular/Test+your+Email+without+emailing" rel="tag"&gt;Test your Email without emailing&lt;/a&gt;, &lt;a href="http://del.icio.us/popular/Cool+SMTP+hijacker" rel="tag"&gt;Cool SMTP hijacker&lt;/a&gt;, &lt;a href="http://del.icio.us/popular/PaperCut" rel="tag"&gt;PaperCut&lt;/a&gt;, &lt;a href="http://del.icio.us/popular/SMTP+Hijacker" rel="tag"&gt;SMTP Hijacker&lt;/a&gt;, &lt;a href="http://del.icio.us/popular/IIS" rel="tag"&gt;IIS&lt;/a&gt;&lt;/div&gt;  &lt;p&gt;&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:fff3c52c-bc9c-438e-87db-f6e195a741f3" class="wlWriterSmartContent"&gt;IceRocket Tags: &lt;a href="http://blogs.icerocket.com/search?q=Test+your+Email+without+emailing" rel="tag"&gt;Test your Email without emailing&lt;/a&gt;, &lt;a href="http://blogs.icerocket.com/search?q=Cool+SMTP+hijacker" rel="tag"&gt;Cool SMTP hijacker&lt;/a&gt;, &lt;a href="http://blogs.icerocket.com/search?q=PaperCut" rel="tag"&gt;PaperCut&lt;/a&gt;, &lt;a href="http://blogs.icerocket.com/search?q=SMTP+Hijacker" rel="tag"&gt;SMTP Hijacker&lt;/a&gt;, &lt;a href="http://blogs.icerocket.com/search?q=IIS" rel="tag"&gt;IIS&lt;/a&gt;&lt;/div&gt;  &lt;p&gt;&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:5f92359c-2ad7-4050-9750-8f59ae71521b" class="wlWriterSmartContent"&gt;LiveJournal Tags: &lt;a href="http://www.livejournal.com/interests.bml?int=Test+your+Email+without+emailing" rel="tag"&gt;Test your Email without emailing&lt;/a&gt;, &lt;a href="http://www.livejournal.com/interests.bml?int=Cool+SMTP+hijacker" rel="tag"&gt;Cool SMTP hijacker&lt;/a&gt;, &lt;a href="http://www.livejournal.com/interests.bml?int=PaperCut" rel="tag"&gt;PaperCut&lt;/a&gt;, &lt;a href="http://www.livejournal.com/interests.bml?int=SMTP+Hijacker" rel="tag"&gt;SMTP Hijacker&lt;/a&gt;, &lt;a href="http://www.livejournal.com/interests.bml?int=IIS" rel="tag"&gt;IIS&lt;/a&gt;&lt;/div&gt;  &lt;p&gt;&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:e780eae2-0865-4219-b137-70da74a6c26e" class="wlWriterSmartContent"&gt;43 Things Tags: &lt;a href="http://www.43things.com/tag/Test+your+Email+without+emailing" rel="tag"&gt;Test your Email without emailing&lt;/a&gt;, &lt;a href="http://www.43things.com/tag/Cool+SMTP+hijacker" rel="tag"&gt;Cool SMTP hijacker&lt;/a&gt;, &lt;a href="http://www.43things.com/tag/PaperCut" rel="tag"&gt;PaperCut&lt;/a&gt;, &lt;a href="http://www.43things.com/tag/SMTP+Hijacker" rel="tag"&gt;SMTP Hijacker&lt;/a&gt;, &lt;a href="http://www.43things.com/tag/IIS" rel="tag"&gt;IIS&lt;/a&gt;&lt;/div&gt;&lt;div class="wlWriterHeaderFooter" style="text-align:right; margin:0px; padding:4px 0px 4px 0px;"&gt;&lt;a href="http://digg.com/submit?url=http%3a%2f%2fweblogs.asp.net%2fmikedopp%2farchive%2f2009%2f04%2f06%2ftesting-and-editing-smtp-email-without-having-a-smtp-server-running.aspx&amp;amp;title=Testing+and+Editing+SMTP+Email+without+having+a+SMTP+Server+Running"&gt;&lt;img src="http://digg.com/img/badges/16x16-digg-guy.png" width="16" height="16" alt="Digg This" title="Digg This" border="0" style="border: 0" /&gt;&lt;/a&gt;&lt;/div&gt;</description><pubDate>Tue, 07 Apr 2009 04:53:00 GMT</pubDate><guid isPermaLink="true">https://weblogs.asp.net:443/mikedopp/testing-and-editing-smtp-email-without-having-a-smtp-server-running</guid><category>.NET Tools</category><category>Development</category><category>HTML</category><category>IIS</category><category>SMTP</category></item><item><title>Is Your Windows Experience Index lying to you? Windows Experience Index Editing.</title><link>https://weblogs.asp.net:443/mikedopp/is-your-windows-experience-index-lying-to-you-windows-experience-index-editing</link><description>&lt;p&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-3411399896801451";
/* 728x90, created 11/11/08 */
google_ad_slot = "1566126459";
google_ad_width = 728;
google_ad_height = 90;
//--&gt;
&lt;/script&gt;&lt;script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;/p&gt;  &lt;p&gt;We all love &lt;a target="_blank" href="http://www.microsoft.com/windows/windows-vista/default.aspx"&gt;Windows Vista&lt;/a&gt; in our own way. &lt;/p&gt;  &lt;p&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; margin-left: 0px; border-left-width: 0px; margin-right: 0px" title="WindowsExperience9.9" border="0" alt="WindowsExperience9.9" align="left" src="https://aspblogs.blob.core.windows.net/media/mikedopp/Media/WindowsExperience9.9_4BE9B877.jpg" width="348" height="200" /&gt; Working for and with many PC manufactures I used to love to run &lt;a target="_blank" href="http://www.bapco.com/"&gt;Sysmark&lt;/a&gt; and associated types of System Tests to show off why I paid more or why someone should pay more for one PC versus the other.&lt;/p&gt;  &lt;p&gt;So when &lt;a target="_blank" href="http://www.microsoft.com"&gt;Microsoft&lt;/a&gt; announced that in Windows Vista(all versions(a marketing idea I might add)) would have a internal way to test the hardware in a given pc to give you a status(Windows Experience index)&amp;#160; of how well Vista will work with given hardware components. I thought great now I can determine which laptop I should buy next.&lt;/p&gt;  &lt;div style="float: right; align: right"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-3411399896801451";
/* 160x600, created 11/11/08 */
google_ad_slot = "2778867110";
google_ad_width = 160;
google_ad_height = 600;
//--&gt;
&lt;/script&gt;&lt;script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;/div&gt;  &lt;p&gt;So I headed out to a well known Vendor of name brand PC’s. I was really debating between a &lt;a target="_blank" href="http://www.hp.com"&gt;HP&lt;/a&gt;, &lt;a target="_blank" href="http://www.sony.com"&gt;Sony&lt;/a&gt;(I know ewww right?) or &lt;a target="_blank" href="http://www.dell.com"&gt;Dell&lt;/a&gt;. All had great components on paper. The components were:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;3GB Ram &lt;/li&gt;    &lt;li&gt;250GB HD &lt;/li&gt;    &lt;li&gt;Windows Vista Home Premium &lt;/li&gt;    &lt;li&gt;The big difference was the Processor: AMD or Intel? Dual core 64bit or Quad core 32bit? &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;So being a hardware geek I wanted to know what the Windows Experience Index was. Not that this was a determining factor since I was in love with the AMD anyway. &lt;/p&gt;  &lt;p&gt;So on to my point. I was doing some &lt;a target="_blank" href="http://www.mikedopp.com/hackxphome.html"&gt;exploring of windows operating systems like I do&lt;/a&gt;. I know your questioning yourself do I really want to continue reading this? Be sure this Edit is very simple and the point I will make is valid. &lt;/p&gt;  &lt;p&gt;Like I said I was doing some exploring of the Windows Directory of Windows Vista Home Premium and found a folder called performance. Opened it up and found WinSAT and well was curious so I dug further. Found a bunch of files that didn’t make much sense but started doing editing and looking at the resources. Came up with mostly nothing other than videos of water and a prx file. Then I decided it was time to open the DataStore folder and found some XML files. I love XML so easy to &lt;strike&gt;hack&lt;/strike&gt; edit so I &lt;a href="https://aspblogs.blob.core.windows.net/media/mikedopp/Media/DecentPC_51C45C10.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; margin-left: 0px; border-left-width: 0px; margin-right: 0px" title="DecentPC" border="0" alt="DecentPC" align="left" src="https://aspblogs.blob.core.windows.net/media/mikedopp/Media/DecentPC_thumb_4FA75D47.png" width="335" height="251" /&gt;&lt;/a&gt;poked around in these files unsure if I was going to break anything. The amount of love(data) in these xml&amp;#160; files was tremendous(at least for a windows machine) oh the hacking I will go I thought.&lt;/p&gt;  &lt;p&gt;Did some editing of the File named: YYYY-MM-DD HH.MM.SS.MSMSMS Assessment(Initial).WinSAT.xml and to no avail nothing changed. Crap. &lt;/p&gt;  &lt;p&gt;So I did some editing of the File named: “”(Formal).WinSAT.xml and changed all the values in the Root Node from:&lt;/p&gt;  &lt;p&gt;&amp;lt;WinSPR&amp;gt;    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &amp;lt;SystemScore&amp;gt;3.6&amp;lt;/SystemScore&amp;gt;     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &amp;lt;MemoryScore&amp;gt;4.9&amp;lt;/MemoryScore&amp;gt;     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &amp;lt;CpuScore&amp;gt;4.8&amp;lt;/CpuScore&amp;gt;     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &amp;lt;CPUSubAggScore&amp;gt;4.7&amp;lt;/CPUSubAggScore&amp;gt;     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &amp;lt;VideoEncodeScore&amp;gt;4.9&amp;lt;/VideoEncodeScore&amp;gt;     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &amp;lt;GraphicsScore&amp;gt;3.6&amp;lt;/GraphicsScore&amp;gt;     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &amp;lt;GamingScore&amp;gt;4.5&amp;lt;/GamingScore&amp;gt;     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &amp;lt;DiskScore&amp;gt;5.3&amp;lt;/DiskScore&amp;gt;     &lt;br /&gt;&amp;#160; &amp;lt;/WinSPR&amp;gt;&lt;/p&gt;  &lt;p&gt;to:&lt;/p&gt;  &lt;p&gt;&amp;lt;WinSPR&amp;gt;    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &amp;lt;SystemScore&amp;gt;9.9&amp;lt;/SystemScore&amp;gt;     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &amp;lt;MemoryScore&amp;gt;9.9&amp;lt;/MemoryScore&amp;gt;     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &amp;lt;CpuScore&amp;gt;9.9&amp;lt;/CpuScore&amp;gt;     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &amp;lt;CPUSubAggScore&amp;gt;9.9&amp;lt;/CPUSubAggScore&amp;gt;     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &amp;lt;VideoEncodeScore&amp;gt;9.9&amp;lt;/VideoEncodeScore&amp;gt;     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &amp;lt;GraphicsScore&amp;gt;9.9&amp;lt;/GraphicsScore&amp;gt;     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &amp;lt;GamingScore&amp;gt;9.9&amp;lt;/GamingScore&amp;gt;     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &amp;lt;DiskScore&amp;gt;9.9&amp;lt;/DiskScore&amp;gt;     &lt;br /&gt;&amp;#160; &amp;lt;/WinSPR&amp;gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="https://aspblogs.blob.core.windows.net/media/mikedopp/Media/BestComputerEver_466B2206.jpg"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; margin-left: 0px; border-left-width: 0px; margin-right: 0px" title="BestComputerEver" border="0" alt="BestComputerEver" align="left" src="https://aspblogs.blob.core.windows.net/media/mikedopp/Media/BestComputerEver_thumb_2EF06DD5.jpg" width="329" height="262" /&gt;&lt;/a&gt;Saved the XML file and went back to the Windows Experience Index and found hey instead of a System Score of 3.6 I got the best score you can get 9.9 . Trust me the software WinSAT will choke on you.&lt;/p&gt;  &lt;p&gt;The most interesting thing is even when you try to refresh the settings hoping that the program will regenerate the Scores it just uses the old Scores as if they were true.&lt;/p&gt;  &lt;p&gt;So the question is: How do we know if the Hardware Manufacture knows about this hack/edit and in order to sell more PC’s they change the XML on the OS as it ships?&lt;/p&gt;  &lt;p&gt;Great question eh? Ah paranoia. It looks like Microsoft might need to update this issue as I have yet to find a fix or hotfix that will make this little piece of software work correctly.&lt;/p&gt;  &lt;p&gt;Looks like this is not the &lt;a target="_blank" href="http://www.nabble.com/Windows-Vista-winsat.exe-Integer-Overflow-td16363210.html"&gt;only issue&lt;/a&gt; with WinSAT.exe on the Windows Vista platform.&lt;/p&gt;  &lt;p&gt;Also if you copy WinSAT folder to Windows XP it will work on that platform as well. Of course that is for another blog post.&lt;/p&gt;  &lt;p&gt;Of course the next question is does anyone really care? Does anyone use Windows Experience Index to judge the difference in PC’s? I would like to know. &lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:712afa37-356b-4875-bdea-519cc781fe99" class="wlWriterSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/Windows+Experience+Index" rel="tag"&gt;Windows Experience Index&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Windows+Experience+issues" rel="tag"&gt;Windows Experience issues&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Windows+Experience+Index+editing" rel="tag"&gt;Windows Experience Index editing&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Make+your+Windows+Vista+the+best+OS" rel="tag"&gt;Make your Windows Vista the best OS&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Make+your+hardware+look+like+the+best" rel="tag"&gt;Make your hardware look like the best&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Windows+Experience+Index+Lies+and+Pictures" rel="tag"&gt;Windows Experience Index Lies and Pictures&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Smile+Its+Windows+ME+on+Steriods" rel="tag"&gt;Smile Its Windows ME on Steriods&lt;/a&gt;&lt;/div&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:f183d1d3-95b9-44da-9d86-ff51824e285d" class="wlWriterSmartContent"&gt;LiveJournal Tags: &lt;a href="http://www.livejournal.com/interests.bml?int=Windows+Experience+Index" rel="tag"&gt;Windows Experience Index&lt;/a&gt;,&lt;a href="http://www.livejournal.com/interests.bml?int=Windows+Experience+issues" rel="tag"&gt;Windows Experience issues&lt;/a&gt;,&lt;a href="http://www.livejournal.com/interests.bml?int=Windows+Experience+Index+editing" rel="tag"&gt;Windows Experience Index editing&lt;/a&gt;,&lt;a href="http://www.livejournal.com/interests.bml?int=Make+your+Windows+Vista+the+best+OS" rel="tag"&gt;Make your Windows Vista the best OS&lt;/a&gt;,&lt;a href="http://www.livejournal.com/interests.bml?int=Make+your+hardware+look+like+the+best" rel="tag"&gt;Make your hardware look like the best&lt;/a&gt;,&lt;a href="http://www.livejournal.com/interests.bml?int=Windows+Experience+Index+Lies+and+Pictures" rel="tag"&gt;Windows Experience Index Lies and Pictures&lt;/a&gt;,&lt;a href="http://www.livejournal.com/interests.bml?int=Smile+Its+Windows+ME+on+Steriods" rel="tag"&gt;Smile Its Windows ME on Steriods&lt;/a&gt;&lt;/div&gt;  &lt;p&gt;&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:690fa623-e8cf-445d-86e4-1a746ed47382" class="wlWriterSmartContent"&gt;Flickr Tags: &lt;a href="http://flickr.com/photos/tags/Windows+Experience+Index" rel="tag"&gt;Windows Experience Index&lt;/a&gt;,&lt;a href="http://flickr.com/photos/tags/Windows+Experience+issues" rel="tag"&gt;Windows Experience issues&lt;/a&gt;,&lt;a href="http://flickr.com/photos/tags/Windows+Experience+Index+editing" rel="tag"&gt;Windows Experience Index editing&lt;/a&gt;,&lt;a href="http://flickr.com/photos/tags/Make+your+Windows+Vista+the+best+OS" rel="tag"&gt;Make your Windows Vista the best OS&lt;/a&gt;,&lt;a href="http://flickr.com/photos/tags/Make+your+hardware+look+like+the+best" rel="tag"&gt;Make your hardware look like the best&lt;/a&gt;,&lt;a href="http://flickr.com/photos/tags/Windows+Experience+Index+Lies+and+Pictures" rel="tag"&gt;Windows Experience Index Lies and Pictures&lt;/a&gt;,&lt;a href="http://flickr.com/photos/tags/Smile+Its+Windows+ME+on+Steriods" rel="tag"&gt;Smile Its Windows ME on Steriods&lt;/a&gt;&lt;/div&gt;  &lt;p&gt;&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:90e32d7d-9e8f-4b03-abc1-1f293bf49048" class="wlWriterSmartContent"&gt;del.icio.us Tags: &lt;a href="http://del.icio.us/popular/Windows+Experience+Index" rel="tag"&gt;Windows Experience Index&lt;/a&gt;,&lt;a href="http://del.icio.us/popular/Windows+Experience+issues" rel="tag"&gt;Windows Experience issues&lt;/a&gt;,&lt;a href="http://del.icio.us/popular/Windows+Experience+Index+editing" rel="tag"&gt;Windows Experience Index editing&lt;/a&gt;,&lt;a href="http://del.icio.us/popular/Make+your+Windows+Vista+the+best+OS" rel="tag"&gt;Make your Windows Vista the best OS&lt;/a&gt;,&lt;a href="http://del.icio.us/popular/Make+your+hardware+look+like+the+best" rel="tag"&gt;Make your hardware look like the best&lt;/a&gt;,&lt;a href="http://del.icio.us/popular/Windows+Experience+Index+Lies+and+Pictures" rel="tag"&gt;Windows Experience Index Lies and Pictures&lt;/a&gt;,&lt;a href="http://del.icio.us/popular/Smile+Its+Windows+ME+on+Steriods" rel="tag"&gt;Smile Its Windows ME on Steriods&lt;/a&gt;&lt;/div&gt;  &lt;p&gt;&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:236865ac-eae9-47d9-99fa-844c2111cc5f" class="wlWriterSmartContent"&gt;IceRocket Tags: &lt;a href="http://blogs.icerocket.com/search?q=Windows+Experience+Index" rel="tag"&gt;Windows Experience Index&lt;/a&gt;,&lt;a href="http://blogs.icerocket.com/search?q=Windows+Experience+issues" rel="tag"&gt;Windows Experience issues&lt;/a&gt;,&lt;a href="http://blogs.icerocket.com/search?q=Windows+Experience+Index+editing" rel="tag"&gt;Windows Experience Index editing&lt;/a&gt;,&lt;a href="http://blogs.icerocket.com/search?q=Make+your+Windows+Vista+the+best+OS" rel="tag"&gt;Make your Windows Vista the best OS&lt;/a&gt;,&lt;a href="http://blogs.icerocket.com/search?q=Make+your+hardware+look+like+the+best" rel="tag"&gt;Make your hardware look like the best&lt;/a&gt;,&lt;a href="http://blogs.icerocket.com/search?q=Windows+Experience+Index+Lies+and+Pictures" rel="tag"&gt;Windows Experience Index Lies and Pictures&lt;/a&gt;,&lt;a href="http://blogs.icerocket.com/search?q=Smile+Its+Windows+ME+on+Steriods" rel="tag"&gt;Smile Its Windows ME on Steriods&lt;/a&gt;&lt;/div&gt;  &lt;p&gt;&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:b60e18d1-a4b5-4b14-9510-97221d111f15" class="wlWriterSmartContent"&gt;43 Things Tags: &lt;a href="http://www.43things.com/tag/Windows+Experience+Index" rel="tag"&gt;Windows Experience Index&lt;/a&gt;,&lt;a href="http://www.43things.com/tag/Windows+Experience+issues" rel="tag"&gt;Windows Experience issues&lt;/a&gt;,&lt;a href="http://www.43things.com/tag/Windows+Experience+Index+editing" rel="tag"&gt;Windows Experience Index editing&lt;/a&gt;,&lt;a href="http://www.43things.com/tag/Make+your+Windows+Vista+the+best+OS" rel="tag"&gt;Make your Windows Vista the best OS&lt;/a&gt;,&lt;a href="http://www.43things.com/tag/Make+your+hardware+look+like+the+best" rel="tag"&gt;Make your hardware look like the best&lt;/a&gt;,&lt;a href="http://www.43things.com/tag/Windows+Experience+Index+Lies+and+Pictures" rel="tag"&gt;Windows Experience Index Lies and Pictures&lt;/a&gt;,&lt;a href="http://www.43things.com/tag/Smile+Its+Windows+ME+on+Steriods" rel="tag"&gt;Smile Its Windows ME on Steriods&lt;/a&gt;&lt;/div&gt;  &lt;p&gt;&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:4491f05f-a69e-4d6a-b5a7-48113880e77e" class="wlWriterSmartContent"&gt;BuzzNet Tags: &lt;a href="http://www.buzznet.com/tags/Windows+Experience+Index" rel="tag"&gt;Windows Experience Index&lt;/a&gt;,&lt;a href="http://www.buzznet.com/tags/Windows+Experience+issues" rel="tag"&gt;Windows Experience issues&lt;/a&gt;,&lt;a href="http://www.buzznet.com/tags/Windows+Experience+Index+editing" rel="tag"&gt;Windows Experience Index editing&lt;/a&gt;,&lt;a href="http://www.buzznet.com/tags/Make+your+Windows+Vista+the+best+OS" rel="tag"&gt;Make your Windows Vista the best OS&lt;/a&gt;,&lt;a href="http://www.buzznet.com/tags/Make+your+hardware+look+like+the+best" rel="tag"&gt;Make your hardware look like the best&lt;/a&gt;,&lt;a href="http://www.buzznet.com/tags/Windows+Experience+Index+Lies+and+Pictures" rel="tag"&gt;Windows Experience Index Lies and Pictures&lt;/a&gt;,&lt;a href="http://www.buzznet.com/tags/Smile+Its+Windows+ME+on+Steriods" rel="tag"&gt;Smile Its Windows ME on Steriods&lt;/a&gt;&lt;/div&gt;&lt;div class="wlWriterHeaderFooter" style="text-align:right; margin:0px; padding:4px 0px 4px 0px;"&gt;&lt;a href="http://digg.com/submit?url=http%3a%2f%2fweblogs.asp.net%2fmikedopp%2farchive%2f2008%2f12%2f25%2fis-your-windows-experience-index-lying-to-you-windows-experience-index-editing.aspx&amp;amp;title=Is+Your+Windows+Experience+Index+lying+to+you%3f+Windows+Experience+Index+Editing."&gt;&lt;img src="http://digg.com/img/badges/16x16-digg-guy.png" width="16" height="16" alt="Digg This" title="Digg This" border="0" style="border: 0" /&gt;&lt;/a&gt;&lt;/div&gt;</description><pubDate>Fri, 26 Dec 2008 05:15:00 GMT</pubDate><guid isPermaLink="true">https://weblogs.asp.net:443/mikedopp/is-your-windows-experience-index-lying-to-you-windows-experience-index-editing</guid><category>HowTo</category><category>XML</category></item><item><title>Virtual Drives and you</title><link>https://weblogs.asp.net:443/mikedopp/virtual-drives-and-you</link><description>&lt;p&gt;&lt;strong&gt;SUBST&lt;/strong&gt; is a great DOS command that allows you to map a local path to a drive letter. For &lt;a href="http://mikedopp.com/images/mikedopp_com/WindowsLiveWriter/VirtualPathsandyou_8D5D/VirtualDrive.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; margin-left: 0px; border-left-width: 0px; margin-right: 0px" title="VirtualDrive" border="0" alt="VirtualDrive" align="left" src="http://mikedopp.com/images/mikedopp_com/WindowsLiveWriter/VirtualPathsandyou_8D5D/VirtualDrive_thumb.png" width="377" height="226" /&gt;&lt;/a&gt;example, wouldn’t it be easier to access you GAC folder by specifying G&lt;b&gt;:&lt;/b&gt; instead of &lt;strong&gt;C:\windows\assembly&lt;/strong&gt;? &lt;/p&gt;  &lt;div style="float: right; align: right"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-3411399896801451";
/* 120x240, created 8/8/08 */
google_ad_slot = "1822954794";
google_ad_width = 120;
google_ad_height = 240;
//--&gt;&lt;/script&gt;&lt;script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;&lt;/script&gt;&lt;/div&gt;  &lt;p&gt;The &lt;strong&gt;SUBST&lt;/strong&gt; command is very easy to use. Simply open up a command prompt window and type:&lt;/p&gt;  &lt;p&gt;“&lt;strong&gt;SUBST G: C:\windows\assembly&lt;/strong&gt;”&lt;/p&gt;  &lt;p&gt;Now when you go to &lt;b&gt;Windows Explorer&lt;/b&gt; or &lt;b&gt;My Computer&lt;/b&gt; you will see a new drive with a label of G&lt;b&gt;:&lt;/b&gt; Open the drive and you are looking at the contents of &lt;strong&gt;C:\windows\assembly&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;You could do this for any path on your PC with the syntax being… &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;SUBST drive: path Any Folder&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-3411399896801451";
/* 468x60, created 9/30/08 */
google_ad_slot = "3140983205";
google_ad_width = 468;
google_ad_height = 60;
//--&gt;&lt;/script&gt;&lt;script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;&lt;/script&gt;&lt;/p&gt;  &lt;p&gt;When you type the &lt;strong&gt;SUBST&lt;/strong&gt; command into a &lt;b&gt;Command Prompt&lt;/b&gt; window, you will lose the virtual drive when you restart your system, so a better way to make the virtual file would be to put the &lt;strong&gt;SUBST&lt;/strong&gt; command into a batch file that lives in your Startup folder. Now every time you start your PC, the virtual drive will be there.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.j-a-associates.com/vdc.htm"&gt;Virtual Drive Creator&lt;/a&gt; is a free program that will create the virtual drive from a GUI, thus saving you from the dreaded Command Prompt. The program is free, but they do offer a better version with more features for a small registration fee.&lt;/p&gt;  &lt;p&gt;To Delete the virtual drive: &lt;strong&gt;SUBST drive letter: /D&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:01a9e6bc-5bac-4456-9a70-1880c4966723" class="wlWriterSmartContent"&gt;Flickr Tags: &lt;a href="http://flickr.com/photos/tags/Virtual+Drives" rel="tag"&gt;Virtual Drives&lt;/a&gt;, &lt;a href="http://flickr.com/photos/tags/Windows+Virtual+Drive" rel="tag"&gt;Windows Virtual Drive&lt;/a&gt;, &lt;a href="http://flickr.com/photos/tags/Virtual+Drives+and+Windows" rel="tag"&gt;Virtual Drives and Windows&lt;/a&gt;, &lt;a href="http://flickr.com/photos/tags/Virtual+Drive+How+to" rel="tag"&gt;Virtual Drive How to&lt;/a&gt;&lt;/div&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:54497bed-a2b8-40d9-b47b-0f61b0eb6c47" class="wlWriterSmartContent"&gt;BuzzNet Tags: &lt;a href="http://www.buzznet.com/tags/Virtual+Drives/" rel="tag"&gt;Virtual Drives&lt;/a&gt;, &lt;a href="http://www.buzznet.com/tags/Windows+Virtual+Drive/" rel="tag"&gt;Windows Virtual Drive&lt;/a&gt;, &lt;a href="http://www.buzznet.com/tags/Virtual+Drives+and+Windows/" rel="tag"&gt;Virtual Drives and Windows&lt;/a&gt;, &lt;a href="http://www.buzznet.com/tags/Virtual+Drive+How+to/" rel="tag"&gt;Virtual Drive How to&lt;/a&gt;&lt;/div&gt;  &lt;p&gt;&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:fd368c53-fdab-479d-b971-f956d6552478" class="wlWriterSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/Virtual+Drives" rel="tag"&gt;Virtual Drives&lt;/a&gt;, &lt;a href="http://technorati.com/tags/Windows+Virtual+Drive" rel="tag"&gt;Windows Virtual Drive&lt;/a&gt;, &lt;a href="http://technorati.com/tags/Virtual+Drives+and+Windows" rel="tag"&gt;Virtual Drives and Windows&lt;/a&gt;, &lt;a href="http://technorati.com/tags/Virtual+Drive+How+to" rel="tag"&gt;Virtual Drive How to&lt;/a&gt;&lt;/div&gt;  &lt;p&gt;&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:1f2eda53-317c-4126-a5f1-028034fed42d" class="wlWriterSmartContent"&gt;del.icio.us Tags: &lt;a href="http://del.icio.us/popular/Virtual+Drives" rel="tag"&gt;Virtual Drives&lt;/a&gt;, &lt;a href="http://del.icio.us/popular/Windows+Virtual+Drive" rel="tag"&gt;Windows Virtual Drive&lt;/a&gt;, &lt;a href="http://del.icio.us/popular/Virtual+Drives+and+Windows" rel="tag"&gt;Virtual Drives and Windows&lt;/a&gt;, &lt;a href="http://del.icio.us/popular/Virtual+Drive+How+to" rel="tag"&gt;Virtual Drive How to&lt;/a&gt;&lt;/div&gt;  &lt;p&gt;&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:7afc9e67-41dc-4e01-838d-dc38e99b4621" class="wlWriterSmartContent"&gt;IceRocket Tags: &lt;a href="http://blogs.icerocket.com/search?q=Virtual+Drives" rel="tag"&gt;Virtual Drives&lt;/a&gt;, &lt;a href="http://blogs.icerocket.com/search?q=Windows+Virtual+Drive" rel="tag"&gt;Windows Virtual Drive&lt;/a&gt;, &lt;a href="http://blogs.icerocket.com/search?q=Virtual+Drives+and+Windows" rel="tag"&gt;Virtual Drives and Windows&lt;/a&gt;, &lt;a href="http://blogs.icerocket.com/search?q=Virtual+Drive+How+to" rel="tag"&gt;Virtual Drive How to&lt;/a&gt;&lt;/div&gt;  &lt;p&gt;&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:55653e4a-b511-4312-a5ca-4b70fbe4b07c" class="wlWriterSmartContent"&gt;LiveJournal Tags: &lt;a href="http://www.livejournal.com/interests.bml?int=Virtual+Drives" rel="tag"&gt;Virtual Drives&lt;/a&gt;, &lt;a href="http://www.livejournal.com/interests.bml?int=Windows+Virtual+Drive" rel="tag"&gt;Windows Virtual Drive&lt;/a&gt;, &lt;a href="http://www.livejournal.com/interests.bml?int=Virtual+Drives+and+Windows" rel="tag"&gt;Virtual Drives and Windows&lt;/a&gt;, &lt;a href="http://www.livejournal.com/interests.bml?int=Virtual+Drive+How+to" rel="tag"&gt;Virtual Drive How to&lt;/a&gt;&lt;/div&gt;  &lt;p&gt;&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:1874d40b-c599-4dc9-a401-f868aaabb263" class="wlWriterSmartContent"&gt;43 Things Tags: &lt;a href="http://www.43things.com/tag/Virtual+Drives" rel="tag"&gt;Virtual Drives&lt;/a&gt;, &lt;a href="http://www.43things.com/tag/Windows+Virtual+Drive" rel="tag"&gt;Windows Virtual Drive&lt;/a&gt;, &lt;a href="http://www.43things.com/tag/Virtual+Drives+and+Windows" rel="tag"&gt;Virtual Drives and Windows&lt;/a&gt;, &lt;a href="http://www.43things.com/tag/Virtual+Drive+How+to" rel="tag"&gt;Virtual Drive How to&lt;/a&gt;&lt;/div&gt;&lt;div class="wlWriterHeaderFooter" style="text-align:right; margin:0px; padding:4px 0px 4px 0px;"&gt;&lt;a href="http://digg.com/submit?url=http%3a%2f%2fweblogs.asp.net%2fmikedopp%2farchive%2f2008%2f10%2f27%2fvirtual-drives-and-you.aspx&amp;amp;title=Virtual+Drives+and+you"&gt;&lt;img src="http://digg.com/img/badges/16x16-digg-guy.png" width="16" height="16" alt="Digg This" title="Digg This" border="0" style="border: 0" /&gt;&lt;/a&gt;&lt;/div&gt;</description><pubDate>Tue, 28 Oct 2008 04:33:00 GMT</pubDate><guid isPermaLink="true">https://weblogs.asp.net:443/mikedopp/virtual-drives-and-you</guid><category>Command Prompt</category><category>HowTo</category><category>Windows Server</category></item><item><title>Credit card numbers for testing your e-commerce applications</title><link>https://weblogs.asp.net:443/mikedopp/credit-card-numbers-for-testing-your-e-commerce-applications</link><description>&lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;I have developed multiple E-Commerce sites (Mostly using a home grown Paypal /Verisign gateway&lt;a href="https://aspblogs.blob.core.windows.net/media/mikedopp/WindowsLiveWriter/CreditCardNumbersforTestingyourEcommerce_B744/PayPal.png"&gt;&lt;img style="border-right-width: 0px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="PayPal" border="0" alt="PayPal" src="https://aspblogs.blob.core.windows.net/media/mikedopp/WindowsLiveWriter/CreditCardNumbersforTestingyourEcommerce_B744/PayPal_thumb.png" width="38" height="17" /&gt;&lt;/a&gt;). However I am always forgetting the format of some of these wrong so here is the test credit card numbers:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;font size="2" face="Verdana"&gt;&lt;strong&gt;&lt;a href="https://aspblogs.blob.core.windows.net/media/mikedopp/WindowsLiveWriter/CreditCardNumbersforTestingyourEcommerce_B744/AmericanExpress.png"&gt;&lt;img style="border-right-width: 0px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="AmericanExpress" border="0" alt="AmericanExpress" src="https://aspblogs.blob.core.windows.net/media/mikedopp/WindowsLiveWriter/CreditCardNumbersforTestingyourEcommerce_B744/AmericanExpress_thumb.png" width="36" height="24" /&gt;&lt;/a&gt;American Express: 3111-1111-1111-1117 &lt;/strong&gt;&lt;/font&gt;&lt;/li&gt;    &lt;li&gt;&lt;font size="2" face="Verdana"&gt;&lt;strong&gt;&lt;a href="https://aspblogs.blob.core.windows.net/media/mikedopp/WindowsLiveWriter/CreditCardNumbersforTestingyourEcommerce_B744/Visa.png"&gt;&lt;img style="border-right-width: 0px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="Visa" border="0" alt="Visa" src="https://aspblogs.blob.core.windows.net/media/mikedopp/WindowsLiveWriter/CreditCardNumbersforTestingyourEcommerce_B744/Visa_thumb.png" width="34" height="24" /&gt;&lt;/a&gt;Visa: 4111-1111-1111-1111 or 4222-2222-2222-2222 &lt;/strong&gt;&lt;/font&gt;&lt;/li&gt;    &lt;li&gt;&lt;font size="2" face="Verdana"&gt;&lt;strong&gt;&lt;a href="https://aspblogs.blob.core.windows.net/media/mikedopp/WindowsLiveWriter/CreditCardNumbersforTestingyourEcommerce_B744/masterCard.png"&gt;&lt;img style="border-right-width: 0px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="masterCard" border="0" alt="masterCard" src="https://aspblogs.blob.core.windows.net/media/mikedopp/WindowsLiveWriter/CreditCardNumbersforTestingyourEcommerce_B744/masterCard_thumb.png" width="37" height="26" /&gt;&lt;/a&gt;MasterCard: 5111-1111-1111-1118&amp;#160; &lt;/strong&gt;&lt;/font&gt;&lt;/li&gt;    &lt;li&gt;&lt;font size="2" face="Verdana"&gt;&lt;strong&gt;&lt;a href="https://aspblogs.blob.core.windows.net/media/mikedopp/WindowsLiveWriter/CreditCardNumbersforTestingyourEcommerce_B744/DiscoverCard.png"&gt;&lt;img style="border-right-width: 0px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="DiscoverCard" border="0" alt="DiscoverCard" src="https://aspblogs.blob.core.windows.net/media/mikedopp/WindowsLiveWriter/CreditCardNumbersforTestingyourEcommerce_B744/DiscoverCard_thumb.png" width="36" height="25" /&gt;&lt;/a&gt;Discover: 6111-1111-1111-1116&lt;/strong&gt;&lt;/font&gt; &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;div style="float: right; align: right"&gt;&lt;script type="text/javascript"&gt;
&lt;!--
google_ad_client = "pub-3411399896801451";
/* 120x240, created 8/8/08 */
google_ad_slot = "1822954794";
google_ad_width = 120;
google_ad_height = 240;
//--&gt;&lt;/script&gt;&lt;/span&gt;&lt;script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;&lt;/script&gt;&lt;/div&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;Your &lt;strong&gt;CCV&lt;/strong&gt; number and &lt;strong&gt;Name&lt;/strong&gt; should not matter. Stay below $500 dollars as well make sure your date is not today but in the future.&lt;/p&gt;  &lt;p&gt;Example:&lt;/p&gt;  &lt;p&gt;Visa:4222-2222-2222-2222 &lt;/p&gt;  &lt;p&gt;CCV:123&lt;/p&gt;  &lt;p&gt;Name:Homer J. Simpson&lt;/p&gt;  &lt;p&gt;Expiration Date: 0110&lt;/p&gt;  &lt;p&gt;Amount: $486.65&lt;/p&gt;  &lt;p&gt;Hope this helps. Enjoy.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:90596858-1422-47e0-adc7-a50d0fd8c766" class="wlWriterSmartContent"&gt;Flickr Tags: &lt;a href="http://flickr.com/photos/tags/Testing+Credit+Cards" rel="tag"&gt;Testing Credit Cards&lt;/a&gt;, &lt;a href="http://flickr.com/photos/tags/Visa" rel="tag"&gt;Visa&lt;/a&gt;, &lt;a href="http://flickr.com/photos/tags/MasterCard" rel="tag"&gt;MasterCard&lt;/a&gt;, &lt;a href="http://flickr.com/photos/tags/Discover" rel="tag"&gt;Discover&lt;/a&gt;, &lt;a href="http://flickr.com/photos/tags/American+Express" rel="tag"&gt;American Express&lt;/a&gt;, &lt;a href="http://flickr.com/photos/tags/E-commerce" rel="tag"&gt;E-commerce&lt;/a&gt;, &lt;a href="http://flickr.com/photos/tags/Commerce+Server+2007" rel="tag"&gt;Commerce Server 2007&lt;/a&gt;&lt;/div&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:7dd0950c-0b04-416f-8646-5d66ae8d32e6" class="wlWriterSmartContent"&gt;BuzzNet Tags: &lt;a href="http://www.buzznet.com/tags/Testing+Credit+Cards/" rel="tag"&gt;Testing Credit Cards&lt;/a&gt;, &lt;a href="http://www.buzznet.com/tags/Visa/" rel="tag"&gt;Visa&lt;/a&gt;, &lt;a href="http://www.buzznet.com/tags/MasterCard/" rel="tag"&gt;MasterCard&lt;/a&gt;, &lt;a href="http://www.buzznet.com/tags/Discover/" rel="tag"&gt;Discover&lt;/a&gt;, &lt;a href="http://www.buzznet.com/tags/American+Express/" rel="tag"&gt;American Express&lt;/a&gt;, &lt;a href="http://www.buzznet.com/tags/E-commerce/" rel="tag"&gt;E-commerce&lt;/a&gt;, &lt;a href="http://www.buzznet.com/tags/Commerce+Server+2007/" rel="tag"&gt;Commerce Server 2007&lt;/a&gt;&lt;/div&gt;  &lt;p&gt;&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:612bd66a-cdf8-49a1-9afd-1b85b9610372" class="wlWriterSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/Testing+Credit+Cards" rel="tag"&gt;Testing Credit Cards&lt;/a&gt;, &lt;a href="http://technorati.com/tags/Visa" rel="tag"&gt;Visa&lt;/a&gt;, &lt;a href="http://technorati.com/tags/MasterCard" rel="tag"&gt;MasterCard&lt;/a&gt;, &lt;a href="http://technorati.com/tags/Discover" rel="tag"&gt;Discover&lt;/a&gt;, &lt;a href="http://technorati.com/tags/American+Express" rel="tag"&gt;American Express&lt;/a&gt;, &lt;a href="http://technorati.com/tags/E-commerce" rel="tag"&gt;E-commerce&lt;/a&gt;, &lt;a href="http://technorati.com/tags/Commerce+Server+2007" rel="tag"&gt;Commerce Server 2007&lt;/a&gt;&lt;/div&gt;  &lt;p&gt;&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:110b5603-b529-4004-aba4-91f2a7a90442" class="wlWriterSmartContent"&gt;del.icio.us Tags: &lt;a href="http://del.icio.us/popular/Testing+Credit+Cards" rel="tag"&gt;Testing Credit Cards&lt;/a&gt;, &lt;a href="http://del.icio.us/popular/Visa" rel="tag"&gt;Visa&lt;/a&gt;, &lt;a href="http://del.icio.us/popular/MasterCard" rel="tag"&gt;MasterCard&lt;/a&gt;, &lt;a href="http://del.icio.us/popular/Discover" rel="tag"&gt;Discover&lt;/a&gt;, &lt;a href="http://del.icio.us/popular/American+Express" rel="tag"&gt;American Express&lt;/a&gt;, &lt;a href="http://del.icio.us/popular/E-commerce" rel="tag"&gt;E-commerce&lt;/a&gt;, &lt;a href="http://del.icio.us/popular/Commerce+Server+2007" rel="tag"&gt;Commerce Server 2007&lt;/a&gt;&lt;/div&gt;  &lt;p&gt;&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:ca578ddc-bdc9-4250-837e-3c8c81c43499" class="wlWriterSmartContent"&gt;IceRocket Tags: &lt;a href="http://blogs.icerocket.com/search?q=Testing+Credit+Cards" rel="tag"&gt;Testing Credit Cards&lt;/a&gt;, &lt;a href="http://blogs.icerocket.com/search?q=Visa" rel="tag"&gt;Visa&lt;/a&gt;, &lt;a href="http://blogs.icerocket.com/search?q=MasterCard" rel="tag"&gt;MasterCard&lt;/a&gt;, &lt;a href="http://blogs.icerocket.com/search?q=Discover" rel="tag"&gt;Discover&lt;/a&gt;, &lt;a href="http://blogs.icerocket.com/search?q=American+Express" rel="tag"&gt;American Express&lt;/a&gt;, &lt;a href="http://blogs.icerocket.com/search?q=E-commerce" rel="tag"&gt;E-commerce&lt;/a&gt;, &lt;a href="http://blogs.icerocket.com/search?q=Commerce+Server+2007" rel="tag"&gt;Commerce Server 2007&lt;/a&gt;&lt;/div&gt;  &lt;p&gt;&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:a1fa96db-6fce-4266-acef-34d702f1ddd8" class="wlWriterSmartContent"&gt;LiveJournal Tags: &lt;a href="http://www.livejournal.com/interests.bml?int=Testing+Credit+Cards" rel="tag"&gt;Testing Credit Cards&lt;/a&gt;, &lt;a href="http://www.livejournal.com/interests.bml?int=Visa" rel="tag"&gt;Visa&lt;/a&gt;, &lt;a href="http://www.livejournal.com/interests.bml?int=MasterCard" rel="tag"&gt;MasterCard&lt;/a&gt;, &lt;a href="http://www.livejournal.com/interests.bml?int=Discover" rel="tag"&gt;Discover&lt;/a&gt;, &lt;a href="http://www.livejournal.com/interests.bml?int=American+Express" rel="tag"&gt;American Express&lt;/a&gt;, &lt;a href="http://www.livejournal.com/interests.bml?int=E-commerce" rel="tag"&gt;E-commerce&lt;/a&gt;, &lt;a href="http://www.livejournal.com/interests.bml?int=Commerce+Server+2007" rel="tag"&gt;Commerce Server 2007&lt;/a&gt;&lt;/div&gt;  &lt;p&gt;&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:76c9e6ad-c5fc-41ed-974e-2136a31564d1" class="wlWriterSmartContent"&gt;43 Things Tags: &lt;a href="http://www.43things.com/tag/Testing+Credit+Cards" rel="tag"&gt;Testing Credit Cards&lt;/a&gt;, &lt;a href="http://www.43things.com/tag/Visa" rel="tag"&gt;Visa&lt;/a&gt;, &lt;a href="http://www.43things.com/tag/MasterCard" rel="tag"&gt;MasterCard&lt;/a&gt;, &lt;a href="http://www.43things.com/tag/Discover" rel="tag"&gt;Discover&lt;/a&gt;, &lt;a href="http://www.43things.com/tag/American+Express" rel="tag"&gt;American Express&lt;/a&gt;, &lt;a href="http://www.43things.com/tag/E-commerce" rel="tag"&gt;E-commerce&lt;/a&gt;, &lt;a href="http://www.43things.com/tag/Commerce+Server+2007" rel="tag"&gt;Commerce Server 2007&lt;/a&gt;&lt;/div&gt;</description><pubDate>Thu, 11 Sep 2008 00:25:00 GMT</pubDate><guid isPermaLink="true">https://weblogs.asp.net:443/mikedopp/credit-card-numbers-for-testing-your-e-commerce-applications</guid><category>Commerce Server 2007</category><category>Credit Cards</category><category>HowTo</category><category>Testing</category><category>Windows Server</category></item><item><title>Web Site Testing and Configuration tools</title><link>https://weblogs.asp.net:443/mikedopp/web-site-testing-and-configuration-tools</link><description>
&lt;p&gt;I have been coding using &lt;a href="http://www.microsoft.com" target="_blank" mce_href="http://www.microsoft.com"&gt;Microsoft&lt;/a&gt; technologies for a long while. Recently I was given the chance to do a little bit of web mastering. Due to my system admin background I was most definitely game for this. &lt;/p&gt; &lt;div style="float: right;"&gt;&lt;script type="text/javascript"&gt;
&lt;!--
google_ad_client = "pub-3411399896801451";
/* 120x240, created 8/8/08 */
google_ad_slot = "1822954794";
google_ad_width = 120;
google_ad_height = 240;
//--&gt;&lt;/script&gt;&lt;script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript"&gt;&lt;/script&gt;&lt;/div&gt;

  
&lt;p&gt;Learning IIS 6.0 was not a huge leap as I had done a lot of development using IIS5.1(Windows XP Professional); however I had not as yet used Host headers in IIS (IIS 5.1 only allows for one site. I will post about that later.). This was a learning experience (Don’t even get me started on the issue of multiple SSL sites or web gardens). &lt;/p&gt;&lt;p&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-3411399896801451";
/* 468x60, created 9/30/08 */
google_ad_slot = "3140983205";
google_ad_width = 468;
google_ad_height = 60;
//--&gt;
&lt;/script&gt;
&lt;script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript"&gt;
&lt;/script&gt; &lt;/p&gt; &lt;img src="https://aspblogs.blob.core.windows.net/media/mikedopp/WindowsLiveWriter/WebSiteTestingandConfigurationtools_9BA9/Aa479040.scalability_fig02%2528en-us%2cMSDN.10%2529_3.gif" style="border-width: 0px;" title="Aa479040.scalability_fig02(en-us,MSDN.10)" alt="Aa479040.scalability_fig02(en-us,MSDN.10)" mce_src="https://aspblogs.blob.core.windows.net/media/mikedopp/WindowsLiveWriter/WebSiteTestingandConfigurationtools_9BA9/Aa479040.scalability_fig02(en-us%2cMSDN.10)_3.gif" align="right" border="0" height="251" width="400"&gt; 
  
&lt;p&gt;I was doing some trail blazing while coming up with a build document to track my progress and to double check all my configurations. I highly recommend this process due to it has saved my bacon multiple times.&lt;/p&gt;
  
&lt;p&gt;Uploaded all the sites and got the host headers configured correctly and moved the SSL (Secure Socket Layer)certifications over to the virgin IIS server when I noticed that not all my sites were happily working. Rendering was slow and some were just crashing. Crap time to take out the build document and rehearse my steps.&lt;/p&gt;
  
&lt;p&gt;Getting through all the steps and all seemed fine. I could not find a reason my sites were acting all sorts of funky and the server processes were pegged out (running at 100%). I stressed and then went to my friend &lt;a href="http://www.google.com" target="_blank" mce_href="http://www.google.com"&gt;Google&lt;/a&gt; for some answers. I found some interesting little applications to monitor and test your sites.&lt;/p&gt; &lt;p&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-3411399896801451";
/* 468x60, created 9/30/08 */
google_ad_slot = "3140983205";
google_ad_width = 468;
google_ad_height = 60;
//--&gt;
&lt;/script&gt;
&lt;script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript"&gt;
&lt;/script&gt; &lt;/p&gt;
  
&lt;p&gt;&lt;a href="http://sourceforge.net/projects/iisreporter/" target="_blank" mce_href="http://sourceforge.net/projects/iisreporter/"&gt;IISReporter&lt;/a&gt; Cool little app to see how many people are logged in as well as a log viewer.&lt;/p&gt;
  &lt;p&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-3411399896801451";
/* 468x60, created 9/30/08 */
google_ad_slot = "3140983205";
google_ad_width = 468;
google_ad_height = 60;
//--&gt;
&lt;/script&gt;
&lt;script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript"&gt;
&lt;/script&gt; &lt;/p&gt;
&lt;p&gt;&lt;a href="http://niknak.org/software/IIsTrafficMonitor" target="_blank" mce_href="http://niknak.org/software/IIsTrafficMonitor"&gt;IISTrafficMonitor&lt;/a&gt; Another great application for watching real time traffic as well as a log viewer *may add extra cpu cycles*&lt;/p&gt;
  
&lt;p&gt;&lt;a href="http://www.iis.net/downloads/default.aspx?tabid=34&amp;amp;g=6&amp;amp;i=1298" target="_blank" mce_href="http://www.iis.net/downloads/default.aspx?tabid=34&amp;amp;g=6&amp;amp;i=1298"&gt;IIS Web Application Stress Tool&lt;/a&gt; Just like the name implies it stresses your web applications&lt;/p&gt;
  
&lt;p&gt;&lt;a href="http://loadrunnertnt.blogspot.com/" target="_blank" mce_href="http://loadrunnertnt.blogspot.com/"&gt;LoadRunner&lt;/a&gt; Add web traffic load to see what you Server(IIS) can handle. Before it all comes crashing down.&lt;/p&gt;
  
&lt;p&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=e2c0585a-062a-439e-a67d-75a89aa36495&amp;amp;displaylang=en" target="_blank" mce_href="http://www.microsoft.com/downloads/details.aspx?FamilyID=e2c0585a-062a-439e-a67d-75a89aa36495&amp;amp;displaylang=en"&gt;Web Application Stress Tool&lt;/a&gt; Another great Stress tool.&lt;/p&gt;
  
&lt;p&gt;The rest are &lt;a href="http://www.microsoft.com" target="_blank" mce_href="http://www.microsoft.com"&gt;Microsoft&lt;/a&gt; utilities for your disposal.&lt;/p&gt;
  
&lt;p&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?familyid=9BFA49BC-376B-4A54-95AA-73C9156706E7&amp;amp;displaylang=en" target="_blank" mce_href="http://www.microsoft.com/downloads/details.aspx?familyid=9BFA49BC-376B-4A54-95AA-73C9156706E7&amp;amp;displaylang=en"&gt;IIS Diagnostics Toolkit&lt;/a&gt;&amp;nbsp;&lt;/p&gt;
  
&lt;p&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?familyid=56FC92EE-A71A-4C73-B628-ADE629C89499&amp;amp;displaylang=en" target="_blank" mce_href="http://www.microsoft.com/downloads/details.aspx?familyid=56FC92EE-A71A-4C73-B628-ADE629C89499&amp;amp;displaylang=en"&gt;IIS 6.0 Resource Kit Tools&lt;/a&gt;&lt;/p&gt;
  
&lt;p&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?familyid=9D467A69-57FF-4AE7-96EE-B18C4790CFFD&amp;amp;displaylang=en" target="_blank" mce_href="http://www.microsoft.com/downloads/details.aspx?familyid=9D467A69-57FF-4AE7-96EE-B18C4790CFFD&amp;amp;displaylang=en"&gt;Windows Server 2003 Resource Kit Tools&lt;/a&gt;&lt;/p&gt;
  
&lt;p&gt;&lt;a href="http://www.west-wind.com/presentations/webstress/webstress.htm" target="_blank" mce_href="http://www.west-wind.com/presentations/webstress/webstress.htm"&gt;Creating Stress Tests for Web Applications&lt;/a&gt;&lt;/p&gt;
  
&lt;p&gt;&lt;a href="http://www.iis.net/downloads/default.aspx?tabid=34&amp;amp;i=1466&amp;amp;g=6" target="_blank" mce_href="http://www.iis.net/downloads/default.aspx?tabid=34&amp;amp;i=1466&amp;amp;g=6"&gt;WCat Web Capacity Analysis Tool&lt;/a&gt;&lt;/p&gt;
  &lt;p&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-3411399896801451";
/* 468x60, created 9/30/08 */
google_ad_slot = "3140983205";
google_ad_width = 468;
google_ad_height = 60;
//--&gt;
&lt;/script&gt;
&lt;script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript"&gt;
&lt;/script&gt; &lt;/p&gt;
&lt;p&gt;These tools are guaranteed to help you in testing your server as well as your applications.&lt;/p&gt;
  &lt;div style="margin: 0px; padding: 0px; display: inline; float: none;" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:4256beda-bc0d-4768-ae31-1405ba3a9acc" class="wlWriterSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/IIS+Tools" mce_href="http://technorati.com/tags/IIS+Tools" rel="tag"&gt;IIS Tools&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Web+Site+Testing" mce_href="http://technorati.com/tags/Web+Site+Testing" rel="tag"&gt;Web Site Testing&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Coding+is+beautiful" mce_href="http://technorati.com/tags/Coding+is+beautiful" rel="tag"&gt;Coding is beautiful&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Yes+Asp.net+is+better+than+PHP.NET" mce_href="http://technorati.com/tags/Yes+Asp.net+is+better+than+PHP.NET" rel="tag"&gt;Yes Asp.net is better than PHP.NET&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Web+Master" mce_href="http://technorati.com/tags/Web+Master" rel="tag"&gt;Web Master&lt;/a&gt;,&lt;a href="http://technorati.com/tags/IIS" mce_href="http://technorati.com/tags/IIS" rel="tag"&gt;IIS&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Microsoft+Tools" mce_href="http://technorati.com/tags/Microsoft+Tools" rel="tag"&gt;Microsoft Tools&lt;/a&gt;&lt;/div&gt;  
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
  &lt;div style="margin: 0px; padding: 0px; display: inline; float: none;" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:c1f5c527-3e8e-43f6-84c5-31cf168dfaee" class="wlWriterSmartContent"&gt;LiveJournal Tags: &lt;a href="http://www.livejournal.com/interests.bml?int=IIS+Tools" mce_href="http://www.livejournal.com/interests.bml?int=IIS+Tools" rel="tag"&gt;IIS Tools&lt;/a&gt;,&lt;a href="http://www.livejournal.com/interests.bml?int=Web+Site+Testing" mce_href="http://www.livejournal.com/interests.bml?int=Web+Site+Testing" rel="tag"&gt;Web Site Testing&lt;/a&gt;,&lt;a href="http://www.livejournal.com/interests.bml?int=Coding+is+beautiful" mce_href="http://www.livejournal.com/interests.bml?int=Coding+is+beautiful" rel="tag"&gt;Coding is beautiful&lt;/a&gt;,&lt;a href="http://www.livejournal.com/interests.bml?int=Yes+Asp.net+is+better+than+PHP.NET" mce_href="http://www.livejournal.com/interests.bml?int=Yes+Asp.net+is+better+than+PHP.NET" rel="tag"&gt;Yes Asp.net is better than PHP.NET&lt;/a&gt;,&lt;a href="http://www.livejournal.com/interests.bml?int=Web+Master" mce_href="http://www.livejournal.com/interests.bml?int=Web+Master" rel="tag"&gt;Web Master&lt;/a&gt;,&lt;a href="http://www.livejournal.com/interests.bml?int=IIS" mce_href="http://www.livejournal.com/interests.bml?int=IIS" rel="tag"&gt;IIS&lt;/a&gt;,&lt;a href="http://www.livejournal.com/interests.bml?int=Microsoft+Tools" mce_href="http://www.livejournal.com/interests.bml?int=Microsoft+Tools" rel="tag"&gt;Microsoft Tools&lt;/a&gt;&lt;/div&gt;  
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
  &lt;div style="margin: 0px; padding: 0px; display: inline; float: none;" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:7daa7c1e-4aba-4a17-8276-4a6eb1933d67" class="wlWriterSmartContent"&gt;Flickr Tags: &lt;a href="http://flickr.com/photos/tags/IIS+Tools" mce_href="http://flickr.com/photos/tags/IIS+Tools" rel="tag"&gt;IIS Tools&lt;/a&gt;,&lt;a href="http://flickr.com/photos/tags/Web+Site+Testing" mce_href="http://flickr.com/photos/tags/Web+Site+Testing" rel="tag"&gt;Web Site Testing&lt;/a&gt;,&lt;a href="http://flickr.com/photos/tags/Coding+is+beautiful" mce_href="http://flickr.com/photos/tags/Coding+is+beautiful" rel="tag"&gt;Coding is beautiful&lt;/a&gt;,&lt;a href="http://flickr.com/photos/tags/Yes+Asp.net+is+better+than+PHP.NET" mce_href="http://flickr.com/photos/tags/Yes+Asp.net+is+better+than+PHP.NET" rel="tag"&gt;Yes Asp.net is better than PHP.NET&lt;/a&gt;,&lt;a href="http://flickr.com/photos/tags/Web+Master" mce_href="http://flickr.com/photos/tags/Web+Master" rel="tag"&gt;Web Master&lt;/a&gt;,&lt;a href="http://flickr.com/photos/tags/IIS" mce_href="http://flickr.com/photos/tags/IIS" rel="tag"&gt;IIS&lt;/a&gt;,&lt;a href="http://flickr.com/photos/tags/Microsoft+Tools" mce_href="http://flickr.com/photos/tags/Microsoft+Tools" rel="tag"&gt;Microsoft Tools&lt;/a&gt;&lt;/div&gt;  
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
  &lt;div style="margin: 0px; padding: 0px; display: inline; float: none;" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:7131dcf0-7e0f-40ba-80a8-ec4a9ac38b19" class="wlWriterSmartContent"&gt;del.icio.us Tags: &lt;a href="http://del.icio.us/popular/IIS+Tools" mce_href="http://del.icio.us/popular/IIS+Tools" rel="tag"&gt;IIS Tools&lt;/a&gt;,&lt;a href="http://del.icio.us/popular/Web+Site+Testing" mce_href="http://del.icio.us/popular/Web+Site+Testing" rel="tag"&gt;Web Site Testing&lt;/a&gt;,&lt;a href="http://del.icio.us/popular/Coding+is+beautiful" mce_href="http://del.icio.us/popular/Coding+is+beautiful" rel="tag"&gt;Coding is beautiful&lt;/a&gt;,&lt;a href="http://del.icio.us/popular/Yes+Asp.net+is+better+than+PHP.NET" mce_href="http://del.icio.us/popular/Yes+Asp.net+is+better+than+PHP.NET" rel="tag"&gt;Yes Asp.net is better than PHP.NET&lt;/a&gt;,&lt;a href="http://del.icio.us/popular/Web+Master" mce_href="http://del.icio.us/popular/Web+Master" rel="tag"&gt;Web Master&lt;/a&gt;,&lt;a href="http://del.icio.us/popular/IIS" mce_href="http://del.icio.us/popular/IIS" rel="tag"&gt;IIS&lt;/a&gt;,&lt;a href="http://del.icio.us/popular/Microsoft+Tools" mce_href="http://del.icio.us/popular/Microsoft+Tools" rel="tag"&gt;Microsoft Tools&lt;/a&gt;&lt;/div&gt;  
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
  &lt;div style="margin: 0px; padding: 0px; display: inline; float: none;" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:dd812d5c-3748-4124-bb8b-c1582717f12f" class="wlWriterSmartContent"&gt;IceRocket Tags: &lt;a href="http://blogs.icerocket.com/search?q=IIS+Tools" mce_href="http://blogs.icerocket.com/search?q=IIS+Tools" rel="tag"&gt;IIS Tools&lt;/a&gt;,&lt;a href="http://blogs.icerocket.com/search?q=Web+Site+Testing" mce_href="http://blogs.icerocket.com/search?q=Web+Site+Testing" rel="tag"&gt;Web Site Testing&lt;/a&gt;,&lt;a href="http://blogs.icerocket.com/search?q=Coding+is+beautiful" mce_href="http://blogs.icerocket.com/search?q=Coding+is+beautiful" rel="tag"&gt;Coding is beautiful&lt;/a&gt;,&lt;a href="http://blogs.icerocket.com/search?q=Yes+Asp.net+is+better+than+PHP.NET" mce_href="http://blogs.icerocket.com/search?q=Yes+Asp.net+is+better+than+PHP.NET" rel="tag"&gt;Yes Asp.net is better than PHP.NET&lt;/a&gt;,&lt;a href="http://blogs.icerocket.com/search?q=Web+Master" mce_href="http://blogs.icerocket.com/search?q=Web+Master" rel="tag"&gt;Web Master&lt;/a&gt;,&lt;a href="http://blogs.icerocket.com/search?q=IIS" mce_href="http://blogs.icerocket.com/search?q=IIS" rel="tag"&gt;IIS&lt;/a&gt;,&lt;a href="http://blogs.icerocket.com/search?q=Microsoft+Tools" mce_href="http://blogs.icerocket.com/search?q=Microsoft+Tools" rel="tag"&gt;Microsoft Tools&lt;/a&gt;&lt;/div&gt;  
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
  &lt;div style="margin: 0px; padding: 0px; display: inline; float: none;" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:cb769d5e-7c3c-41ca-9e4a-d62ca61f5c60" class="wlWriterSmartContent"&gt;43 Things Tags: &lt;a href="http://www.43things.com/tag/IIS+Tools" mce_href="http://www.43things.com/tag/IIS+Tools" rel="tag"&gt;IIS Tools&lt;/a&gt;,&lt;a href="http://www.43things.com/tag/Web+Site+Testing" mce_href="http://www.43things.com/tag/Web+Site+Testing" rel="tag"&gt;Web Site Testing&lt;/a&gt;,&lt;a href="http://www.43things.com/tag/Coding+is+beautiful" mce_href="http://www.43things.com/tag/Coding+is+beautiful" rel="tag"&gt;Coding is beautiful&lt;/a&gt;,&lt;a href="http://www.43things.com/tag/Yes+Asp.net+is+better+than+PHP.NET" mce_href="http://www.43things.com/tag/Yes+Asp.net+is+better+than+PHP.NET" rel="tag"&gt;Yes Asp.net is better than PHP.NET&lt;/a&gt;,&lt;a href="http://www.43things.com/tag/Web+Master" mce_href="http://www.43things.com/tag/Web+Master" rel="tag"&gt;Web Master&lt;/a&gt;,&lt;a href="http://www.43things.com/tag/IIS" mce_href="http://www.43things.com/tag/IIS" rel="tag"&gt;IIS&lt;/a&gt;,&lt;a href="http://www.43things.com/tag/Microsoft+Tools" mce_href="http://www.43things.com/tag/Microsoft+Tools" rel="tag"&gt;Microsoft Tools&lt;/a&gt;&lt;/div&gt;  
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
  &lt;div style="margin: 0px; padding: 0px; display: inline; float: none;" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:7f983883-4e06-46af-8c29-67cbce7900e0" class="wlWriterSmartContent"&gt;BuzzNet Tags: &lt;a href="http://www.buzznet.com/tags/IIS+Tools" mce_href="http://www.buzznet.com/tags/IIS+Tools" rel="tag"&gt;IIS Tools&lt;/a&gt;,&lt;a href="http://www.buzznet.com/tags/Web+Site+Testing" mce_href="http://www.buzznet.com/tags/Web+Site+Testing" rel="tag"&gt;Web Site Testing&lt;/a&gt;,&lt;a href="http://www.buzznet.com/tags/Coding+is+beautiful" mce_href="http://www.buzznet.com/tags/Coding+is+beautiful" rel="tag"&gt;Coding is beautiful&lt;/a&gt;,&lt;a href="http://www.buzznet.com/tags/Yes+Asp.net+is+better+than+PHP.NET" mce_href="http://www.buzznet.com/tags/Yes+Asp.net+is+better+than+PHP.NET" rel="tag"&gt;Yes Asp.net is better than PHP.NET&lt;/a&gt;,&lt;a href="http://www.buzznet.com/tags/Web+Master" mce_href="http://www.buzznet.com/tags/Web+Master" rel="tag"&gt;Web Master&lt;/a&gt;,&lt;a href="http://www.buzznet.com/tags/IIS" mce_href="http://www.buzznet.com/tags/IIS" rel="tag"&gt;IIS&lt;/a&gt;,&lt;a href="http://www.buzznet.com/tags/Microsoft+Tools" mce_href="http://www.buzznet.com/tags/Microsoft+Tools" rel="tag"&gt;Microsoft Tools&lt;/a&gt;&lt;/div&gt;&lt;div class="wlWriterHeaderFooter" style="margin: 0px; padding: 4px 0px; text-align: right;"&gt;&lt;a href="http://digg.com/submit?url=http%3a%2f%2fweblogs.asp.net%2fmikedopp%2farchive%2f2008%2f09%2f09%2fweb-site-testing-and-configuration-tools.aspx&amp;amp;title=Web+Site+Testing+and+Configuration+tools" mce_href="http://digg.com/submit?url=http%3a%2f%2fweblogs.asp.net%2fmikedopp%2farchive%2f2008%2f09%2f09%2fweb-site-testing-and-configuration-tools.aspx&amp;amp;title=Web+Site+Testing+and+Configuration+tools"&gt;&lt;img src="http://digg.com/img/badges/16x16-digg-guy.png" mce_src="http://digg.com/img/badges/16x16-digg-guy.png" alt="Digg This" title="Digg This" style="border: 0pt none ;" border="0" height="16" width="16"&gt;&lt;/a&gt;&lt;/div&gt;</description><pubDate>Wed, 10 Sep 2008 04:23:00 GMT</pubDate><guid isPermaLink="true">https://weblogs.asp.net:443/mikedopp/web-site-testing-and-configuration-tools</guid><category>.NET Tools</category><category>ASP.NET</category><category>Development</category><category>IIS</category><category>Testing</category></item><item><title>Commerce Server 2007: No Cache refresh using Host Headers</title><link>https://weblogs.asp.net:443/mikedopp/commerce-server-2007-no-cache-refresh-using-host-headers</link><description>&lt;P&gt;As you all know I have been working hard writing, eating and bleeding commerce server 2007 for the past year. &lt;/P&gt;
&lt;P&gt;One thing I could never get past was why I could not do a site cache refresh from the &lt;A href="https://aspblogs.blob.core.windows.net/media/mikedopp/WindowsLiveWriter/CommerceServerNoCacherefreshusingHostHea_7B3D/untitled.png" mce_href="https://aspblogs.blob.core.windows.net/media/mikedopp/WindowsLiveWriter/CommerceServerNoCacherefreshusingHostHea_7B3D/untitled.png"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title=untitled border=0 alt=untitled align=left src="https://aspblogs.blob.core.windows.net/media/mikedopp/WindowsLiveWriter/CommerceServerNoCacherefreshusingHostHea_7B3D/untitled_thumb.png" width=205 height=182 mce_src="https://aspblogs.blob.core.windows.net/media/mikedopp/WindowsLiveWriter/CommerceServerNoCacherefreshusingHostHea_7B3D/untitled_thumb.png"&gt;&lt;/A&gt; tools provided with &lt;A target=_blank href="http://www.microsoft.com/commerceserver/default.mspx" mce_href="http://www.microsoft.com/commerceserver/default.mspx"&gt;commerce server 2007&lt;/A&gt;. The tools that are provided are what you would call management tools (mostly well written web services.). Within these awesome tools is a cool little button called refresh. It’s sole purpose is to refresh the catalog,user base and or discounts without killing the database or web site. Killing I mean using IISReset to well reset or reboot the IIS server.&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Well when clicking on the refresh button I would get an error mostly consisting of a 401.1 error with a little bit of information.&lt;/P&gt;
&lt;DIV style="FLOAT: right; align: right"&gt;
&lt;SCRIPT type=text/javascript&gt;
&lt;!--
google_ad_client = "pub-3411399896801451";
/* 120x240, created 8/8/08 */
google_ad_slot = "1822954794";
google_ad_width = 120;
google_ad_height = 240;
//--&gt;&lt;/SCRIPT&gt;
&lt;/SPAN&gt;
&lt;SCRIPT type=text/javascript src="http://pagead2.googlesyndication.com/pagead/show_ads.js" mce_src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;&lt;/SCRIPT&gt;
&lt;/DIV&gt;
&lt;P&gt;With frustration due to this error I went on a long quest using multiple search engines and lots of home time studying reasons this one function was failing to no avail. The &lt;A target=_blank href="http://forums.microsoft.com/msdn/ShowPost.aspx?PostID=3108286&amp;amp;SiteID=1" mce_href="http://forums.microsoft.com/msdn/ShowPost.aspx?PostID=3108286&amp;amp;SiteID=1"&gt;forums at MSDN&lt;/A&gt; told me I was crazy and that it would work. Even got into a bit of a forum fight (you know those types of fights geeks have about which star wars series is better. 1970’s or 199x-200x (nothing physical just funny)). I had given up thrown in the towel other than using a url to do my site cache refreshing (only with service pack 1 installed mind you).&lt;/P&gt;
&lt;P&gt;Due to the whole quest thing I found a lot of commerce server developers with blogs and subscribed to them. &lt;/P&gt;
&lt;P&gt;A great blogger&amp;nbsp; &lt;A target=_blank href="http://ravikk.spaces.live.com/Blog/cns!F348D7145D1BE6C2!551.entry" mce_href="http://ravikk.spaces.live.com/Blog/cns!F348D7145D1BE6C2!551.entry"&gt;Ravi Kanth&lt;/A&gt;&amp;nbsp; posted this on his blog on September 8th 2008:&lt;/P&gt;
&lt;P&gt;“Cannot refresh commerce server cache when using host headers&lt;/P&gt;
&lt;P&gt;Commerce server cache refresh through URL will not work if you are using host headers in your web site. You may receive IIS 401.1 error when you try to access the site. &lt;/P&gt;
&lt;P&gt;The problem is not due to Commerce server but this issue occurs if you install Microsoft Windows XP Service Pack 2 (SP2) or Microsoft Windows Server 2003 Service Pack 1 (SP1). Windows XP SP2 and Windows Server 2003 SP1 include a loopback check security feature that is designed to help prevent reflection attacks on your computer. Therefore, authentication fails if the FQDN or the custom host header that you use does not match the local computer name.Click below link and do the changes suggested by this article. &lt;BR&gt;&lt;A href="http://support.microsoft.com/?id=896861" mce_href="http://support.microsoft.com/?id=896861"&gt;http://support.microsoft.com/?id=896861&lt;/A&gt; “&lt;/P&gt;
&lt;P&gt;He goes further to describe why and how to do a work around.&lt;/P&gt;
&lt;P&gt;Please &lt;A target=_blank href="http://blogs.msdn.com/commerce/default.aspx" mce_href="http://blogs.msdn.com/commerce/default.aspx"&gt;Commerce Server 2007 team&lt;/A&gt; – Max Akbar (link love to Max when he fixes this) Please fix this.&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;DIV style="PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; DISPLAY: inline; FLOAT: none; PADDING-TOP: 0px" id=scid:0767317B-992E-4b12-91E0-4F059A8CECA8:4b1263bc-3fee-4e64-b712-ad3887a9ca40 class=wlWriterSmartContent&gt;Flickr Tags: &lt;A href="http://flickr.com/photos/tags/Commerce+Server+2007" rel=tag mce_href="http://flickr.com/photos/tags/Commerce+Server+2007"&gt;Commerce Server 2007&lt;/A&gt;, &lt;A href="http://flickr.com/photos/tags/Site+Cache+Refresh" rel=tag mce_href="http://flickr.com/photos/tags/Site+Cache+Refresh"&gt;Site Cache Refresh&lt;/A&gt;, &lt;A href="http://flickr.com/photos/tags/Refresh+your+site+cache" rel=tag mce_href="http://flickr.com/photos/tags/Refresh+your+site+cache"&gt;Refresh your site cache&lt;/A&gt;, &lt;A href="http://flickr.com/photos/tags/Microsoft+E+Commerce" rel=tag mce_href="http://flickr.com/photos/tags/Microsoft+E+Commerce"&gt;Microsoft E Commerce&lt;/A&gt;&lt;/DIV&gt;
&lt;DIV style="PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; DISPLAY: inline; FLOAT: none; PADDING-TOP: 0px" id=scid:0767317B-992E-4b12-91E0-4F059A8CECA8:fe285673-8c1b-4b55-8e23-050ccde7c172 class=wlWriterSmartContent&gt;BuzzNet Tags: &lt;A href="http://www.buzznet.com/tags/Commerce+Server+2007/" rel=tag mce_href="http://www.buzznet.com/tags/Commerce+Server+2007/"&gt;Commerce Server 2007&lt;/A&gt;, &lt;A href="http://www.buzznet.com/tags/Site+Cache+Refresh/" rel=tag mce_href="http://www.buzznet.com/tags/Site+Cache+Refresh/"&gt;Site Cache Refresh&lt;/A&gt;, &lt;A href="http://www.buzznet.com/tags/Refresh+your+site+cache/" rel=tag mce_href="http://www.buzznet.com/tags/Refresh+your+site+cache/"&gt;Refresh your site cache&lt;/A&gt;, &lt;A href="http://www.buzznet.com/tags/Microsoft+E+Commerce/" rel=tag mce_href="http://www.buzznet.com/tags/Microsoft+E+Commerce/"&gt;Microsoft E Commerce&lt;/A&gt;&lt;/DIV&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;DIV style="PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; DISPLAY: inline; FLOAT: none; PADDING-TOP: 0px" id=scid:0767317B-992E-4b12-91E0-4F059A8CECA8:7d595daa-df09-4bfa-8ce9-92330eebb982 class=wlWriterSmartContent&gt;Technorati Tags: &lt;A href="http://technorati.com/tags/Commerce+Server+2007" rel=tag mce_href="http://technorati.com/tags/Commerce+Server+2007"&gt;Commerce Server 2007&lt;/A&gt;, &lt;A href="http://technorati.com/tags/Site+Cache+Refresh" rel=tag mce_href="http://technorati.com/tags/Site+Cache+Refresh"&gt;Site Cache Refresh&lt;/A&gt;, &lt;A href="http://technorati.com/tags/Refresh+your+site+cache" rel=tag mce_href="http://technorati.com/tags/Refresh+your+site+cache"&gt;Refresh your site cache&lt;/A&gt;, &lt;A href="http://technorati.com/tags/Microsoft+E+Commerce" rel=tag mce_href="http://technorati.com/tags/Microsoft+E+Commerce"&gt;Microsoft E Commerce&lt;/A&gt;&lt;/DIV&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;DIV style="PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; DISPLAY: inline; FLOAT: none; PADDING-TOP: 0px" id=scid:0767317B-992E-4b12-91E0-4F059A8CECA8:5a5de7a9-718f-4714-baf4-b972ce59eefa class=wlWriterSmartContent&gt;del.icio.us Tags: &lt;A href="http://del.icio.us/popular/Commerce+Server+2007" rel=tag mce_href="http://del.icio.us/popular/Commerce+Server+2007"&gt;Commerce Server 2007&lt;/A&gt;, &lt;A href="http://del.icio.us/popular/Site+Cache+Refresh" rel=tag mce_href="http://del.icio.us/popular/Site+Cache+Refresh"&gt;Site Cache Refresh&lt;/A&gt;, &lt;A href="http://del.icio.us/popular/Refresh+your+site+cache" rel=tag mce_href="http://del.icio.us/popular/Refresh+your+site+cache"&gt;Refresh your site cache&lt;/A&gt;, &lt;A href="http://del.icio.us/popular/Microsoft+E+Commerce" rel=tag mce_href="http://del.icio.us/popular/Microsoft+E+Commerce"&gt;Microsoft E Commerce&lt;/A&gt;&lt;/DIV&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;DIV style="PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; DISPLAY: inline; FLOAT: none; PADDING-TOP: 0px" id=scid:0767317B-992E-4b12-91E0-4F059A8CECA8:062821db-c577-4f10-acee-6151f3f7866d class=wlWriterSmartContent&gt;IceRocket Tags: &lt;A href="http://blogs.icerocket.com/search?q=Commerce+Server+2007" rel=tag mce_href="http://blogs.icerocket.com/search?q=Commerce+Server+2007"&gt;Commerce Server 2007&lt;/A&gt;, &lt;A href="http://blogs.icerocket.com/search?q=Site+Cache+Refresh" rel=tag mce_href="http://blogs.icerocket.com/search?q=Site+Cache+Refresh"&gt;Site Cache Refresh&lt;/A&gt;, &lt;A href="http://blogs.icerocket.com/search?q=Refresh+your+site+cache" rel=tag mce_href="http://blogs.icerocket.com/search?q=Refresh+your+site+cache"&gt;Refresh your site cache&lt;/A&gt;, &lt;A href="http://blogs.icerocket.com/search?q=Microsoft+E+Commerce" rel=tag mce_href="http://blogs.icerocket.com/search?q=Microsoft+E+Commerce"&gt;Microsoft E Commerce&lt;/A&gt;&lt;/DIV&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;DIV style="PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; DISPLAY: inline; FLOAT: none; PADDING-TOP: 0px" id=scid:0767317B-992E-4b12-91E0-4F059A8CECA8:ffa913b2-eecd-49df-ac0a-9074bbaede55 class=wlWriterSmartContent&gt;LiveJournal Tags: &lt;A href="http://www.livejournal.com/interests.bml?int=Commerce+Server+2007" rel=tag mce_href="http://www.livejournal.com/interests.bml?int=Commerce+Server+2007"&gt;Commerce Server 2007&lt;/A&gt;, &lt;A href="http://www.livejournal.com/interests.bml?int=Site+Cache+Refresh" rel=tag mce_href="http://www.livejournal.com/interests.bml?int=Site+Cache+Refresh"&gt;Site Cache Refresh&lt;/A&gt;, &lt;A href="http://www.livejournal.com/interests.bml?int=Refresh+your+site+cache" rel=tag mce_href="http://www.livejournal.com/interests.bml?int=Refresh+your+site+cache"&gt;Refresh your site cache&lt;/A&gt;, &lt;A href="http://www.livejournal.com/interests.bml?int=Microsoft+E+Commerce" rel=tag mce_href="http://www.livejournal.com/interests.bml?int=Microsoft+E+Commerce"&gt;Microsoft E Commerce&lt;/A&gt;&lt;/DIV&gt;
&lt;DIV style="PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; DISPLAY: inline; FLOAT: none; PADDING-TOP: 0px" id=scid:0767317B-992E-4b12-91E0-4F059A8CECA8:f11b62bc-5cdf-44a8-a0ad-c67ccb6f36cc class=wlWriterSmartContent&gt;43 Things Tags: &lt;A href="http://www.43things.com/tag/Commerce+Server+2007" rel=tag mce_href="http://www.43things.com/tag/Commerce+Server+2007"&gt;Commerce Server 2007&lt;/A&gt;, &lt;A href="http://www.43things.com/tag/Site+Cache+Refresh" rel=tag mce_href="http://www.43things.com/tag/Site+Cache+Refresh"&gt;Site Cache Refresh&lt;/A&gt;, &lt;A href="http://www.43things.com/tag/Refresh+your+site+cache" rel=tag mce_href="http://www.43things.com/tag/Refresh+your+site+cache"&gt;Refresh your site cache&lt;/A&gt;, &lt;A href="http://www.43things.com/tag/Microsoft+E+Commerce" rel=tag mce_href="http://www.43things.com/tag/Microsoft+E+Commerce"&gt;Microsoft E Commerce&lt;/A&gt;&lt;/DIV&gt;</description><pubDate>Tue, 09 Sep 2008 10:24:00 GMT</pubDate><guid isPermaLink="true">https://weblogs.asp.net:443/mikedopp/commerce-server-2007-no-cache-refresh-using-host-headers</guid><category>ASP.NET 2.0</category><category>C#</category><category>Commerce Server 2007</category><category>IIS</category></item><item><title>test from diarist</title><link>https://weblogs.asp.net:443/mikedopp/test-from-diarist</link><description>this is posted from windows mobile y.</description><pubDate>Wed, 03 Sep 2008 17:13:35 GMT</pubDate><guid isPermaLink="true">https://weblogs.asp.net:443/mikedopp/test-from-diarist</guid></item><item><title>Developer Humping or Extreme Programming</title><link>https://weblogs.asp.net:443/mikedopp/developer-humping-or-extreme-programming</link><description>&lt;p&gt;Too Many cooks in the kitchen. When is too many developers one project a bad idea? &lt;/p&gt;  &lt;p&gt;So I had the chance to meet with some friends the other day.&lt;a href="https://aspblogs.blob.core.windows.net/media/mikedopp/WindowsLiveWriter/DeveloperHumpingorExtremeProgramming_907/AgileCrapDevelopement.png"&gt;&lt;img style="border-right-width: 0px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="AgileCrapDevelopement" border="0" alt="AgileCrapDevelopement" align="right" src="https://aspblogs.blob.core.windows.net/media/mikedopp/WindowsLiveWriter/DeveloperHumpingorExtremeProgramming_907/AgileCrapDevelopement_thumb.png" width="331" height="555" /&gt;&lt;/a&gt; Of course they work as developers like me. They work for one of those companies with allot of money to throw at a web site (a == 1). I found it interesting having 20 developers writing code for a web site. They called it Agile programming or Extreme Programming (Developer Humping). The reason I&amp;#160; called it this was as they (my friends) described agile as two developers sit in a cubicle(but of course no office unless your management right?) one developer coded while the other sat behind him correcting his mistakes.&lt;/p&gt;  &lt;p&gt;So what bothered me most was having another developer watching over your shoulder as you coded. Like what the hell. How is that environment inviting to any developer? So here is my way of disgracing this habit as well as promoting it I guess.&lt;/p&gt;  &lt;p&gt;Disgracing:&lt;/p&gt;  &lt;p&gt;1. Cost is way more than your ROI (Return of Investment) on any project (yes I will argue this.)&lt;/p&gt;  &lt;p&gt;2. It is said this type (Developer Humping) of development is good for the customer. what? how does that translate?&lt;/p&gt;  &lt;p&gt;3. Somehow Projects get done faster? (wow I could argue that all day.) This goes back to the too many cooks in the kitchen mentality.&lt;/p&gt;  &lt;p&gt;Promoting:&lt;/p&gt;  &lt;p&gt;1. Both developers learn quick and bounce ideas off of each other.&lt;/p&gt;  &lt;p&gt;2. Micro management of developers is much easier.&lt;/p&gt;  &lt;p&gt;So in theory if your company has the money to spend tons of money on 2 developers per cubie(cubicle for those not in cubicles) and developing for 1 web site good on you. Truly in my humble opinion Agile development should be used for large “Software” companies with budgets for multiple projects.&lt;/p&gt;  &lt;p&gt;This is what our friends at &lt;a target="_blank" href="http://en.wikipedia.org/wiki/Extreme_programming"&gt;Wikipedia&lt;/a&gt; had to say:&lt;/p&gt;  &lt;p&gt;&lt;b&gt;Extreme Programming&lt;/b&gt; (or &lt;b&gt;XP&lt;/b&gt;) is a &lt;a href="http://en.wikipedia.org/wiki/Software_engineering"&gt;software engineering&lt;/a&gt; methodology (and a form of &lt;a href="http://en.wikipedia.org/wiki/Agile_software_development"&gt;agile software development&lt;/a&gt;)&lt;sup&gt;&lt;a href="http://en.wikipedia.org/wiki/Extreme_programming#cite_note-Informatics85-0"&gt;[1]&lt;/a&gt;&lt;/sup&gt;&lt;sup&gt;&lt;a href="http://en.wikipedia.org/wiki/Extreme_programming#cite_note-UPenn49-1"&gt;[2]&lt;/a&gt;&lt;/sup&gt;&lt;sup&gt;&lt;a href="http://en.wikipedia.org/wiki/Extreme_programming#cite_note-USFCA601-2"&gt;[3]&lt;/a&gt;&lt;/sup&gt; prescribing a set of daily stakeholder &lt;a href="http://en.wikipedia.org/wiki/Extreme_Programming#Practices"&gt;practices&lt;/a&gt; that embody and encourage particular &lt;a href="http://en.wikipedia.org/wiki/Extreme_Programming#XP_values"&gt;XP values&lt;/a&gt; (below). Proponents believe that exercising these practices—traditional software engineering practices taken to so-called &amp;quot;extreme&amp;quot; levels—leads to a development process that is more responsive to customer needs (&amp;quot;agile&amp;quot;) than traditional methods, while creating software of better quality.&lt;/p&gt;  &lt;p&gt;So why do I seem against this type of development? I guess I am not all that much impressed with it. I love team development. I truly encourage it. I am not of the mind “put a developer in a closet with pizza and a coke and leave him/her be”. I however like my space and love to collaborate with my fellow developers on multiple projects.&lt;/p&gt;  &lt;p style="border-right-width: 0px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" align="right" border="0"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-3411399896801451";
/* 120x240, created 8/8/08 */
google_ad_slot = "1822954794";
google_ad_width = 120;
google_ad_height = 240;
//--&gt;&lt;/script&gt;&lt;script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;&lt;/script&gt;&lt;/p&gt;  &lt;p&gt;Currently I work on multiple web sites at the same time. I like to call it the shotgun development method. I work with 2 other excellent web developers. One is front end (the famous &lt;a target="_blank" href="http://www.joelevi.com"&gt;joe&lt;/a&gt;) his code is second to none. Then I work with new guy Bryan (still waiting on a blog bryan) who is the C# guru. We all have our pieces of the projects we work on. This is a great work environment. Typically called the Waterfall method.&lt;/p&gt;  &lt;p&gt;No developer humping here just straight work hard and enjoy the team work involved.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Let me know how you feel.&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:b37d9208-a95f-4066-bd9d-1fd5cd452521" class="wlWriterSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/Agile+Developer+Humping" rel="tag"&gt;Agile Developer Humping&lt;/a&gt;,&lt;a href="http://technorati.com/tags/This+is+not+X+rated+get+your+mind+out+of+the+gutter" rel="tag"&gt;This is not X rated get your mind out of the gutter&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Agile+Development" rel="tag"&gt;Agile Development&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Evil+Developer" rel="tag"&gt;Evil Developer&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Developer+Humping" rel="tag"&gt;Developer Humping&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Extreme+Programming" rel="tag"&gt;Extreme Programming&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Sick+and+wrong" rel="tag"&gt;Sick and wrong&lt;/a&gt;&lt;/div&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:c21d97ce-8d47-4cee-bea7-e82be263dde6" class="wlWriterSmartContent"&gt;LiveJournal Tags: &lt;a href="http://www.livejournal.com/interests.bml?int=Agile+Developer+Humping" rel="tag"&gt;Agile Developer Humping&lt;/a&gt;,&lt;a href="http://www.livejournal.com/interests.bml?int=This+is+not+X+rated+get+your+mind+out+of+the+gutter" rel="tag"&gt;This is not X rated get your mind out of the gutter&lt;/a&gt;,&lt;a href="http://www.livejournal.com/interests.bml?int=Agile+Development" rel="tag"&gt;Agile Development&lt;/a&gt;,&lt;a href="http://www.livejournal.com/interests.bml?int=Evil+Developer" rel="tag"&gt;Evil Developer&lt;/a&gt;,&lt;a href="http://www.livejournal.com/interests.bml?int=Developer+Humping" rel="tag"&gt;Developer Humping&lt;/a&gt;,&lt;a href="http://www.livejournal.com/interests.bml?int=Extreme+Programming" rel="tag"&gt;Extreme Programming&lt;/a&gt;,&lt;a href="http://www.livejournal.com/interests.bml?int=Sick+and+wrong" rel="tag"&gt;Sick and wrong&lt;/a&gt;&lt;/div&gt;  &lt;p&gt;&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:8b9c0f8f-8ff8-4642-b2f8-b1e66d853a87" class="wlWriterSmartContent"&gt;Flickr Tags: &lt;a href="http://flickr.com/photos/tags/Agile+Developer+Humping" rel="tag"&gt;Agile Developer Humping&lt;/a&gt;,&lt;a href="http://flickr.com/photos/tags/This+is+not+X+rated+get+your+mind+out+of+the+gutter" rel="tag"&gt;This is not X rated get your mind out of the gutter&lt;/a&gt;,&lt;a href="http://flickr.com/photos/tags/Agile+Development" rel="tag"&gt;Agile Development&lt;/a&gt;,&lt;a href="http://flickr.com/photos/tags/Evil+Developer" rel="tag"&gt;Evil Developer&lt;/a&gt;,&lt;a href="http://flickr.com/photos/tags/Developer+Humping" rel="tag"&gt;Developer Humping&lt;/a&gt;,&lt;a href="http://flickr.com/photos/tags/Extreme+Programming" rel="tag"&gt;Extreme Programming&lt;/a&gt;,&lt;a href="http://flickr.com/photos/tags/Sick+and+wrong" rel="tag"&gt;Sick and wrong&lt;/a&gt;&lt;/div&gt;  &lt;p&gt;&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:6e9f7365-e86f-49eb-bcc8-dfab55ca8779" class="wlWriterSmartContent"&gt;del.icio.us Tags: &lt;a href="http://del.icio.us/popular/Agile+Developer+Humping" rel="tag"&gt;Agile Developer Humping&lt;/a&gt;,&lt;a href="http://del.icio.us/popular/This+is+not+X+rated+get+your+mind+out+of+the+gutter" rel="tag"&gt;This is not X rated get your mind out of the gutter&lt;/a&gt;,&lt;a href="http://del.icio.us/popular/Agile+Development" rel="tag"&gt;Agile Development&lt;/a&gt;,&lt;a href="http://del.icio.us/popular/Evil+Developer" rel="tag"&gt;Evil Developer&lt;/a&gt;,&lt;a href="http://del.icio.us/popular/Developer+Humping" rel="tag"&gt;Developer Humping&lt;/a&gt;,&lt;a href="http://del.icio.us/popular/Extreme+Programming" rel="tag"&gt;Extreme Programming&lt;/a&gt;,&lt;a href="http://del.icio.us/popular/Sick+and+wrong" rel="tag"&gt;Sick and wrong&lt;/a&gt;&lt;/div&gt;  &lt;p&gt;&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:1773a5b0-e42a-43fa-a3ca-038b77c61cec" class="wlWriterSmartContent"&gt;IceRocket Tags: &lt;a href="http://blogs.icerocket.com/search?q=Agile+Developer+Humping" rel="tag"&gt;Agile Developer Humping&lt;/a&gt;,&lt;a href="http://blogs.icerocket.com/search?q=This+is+not+X+rated+get+your+mind+out+of+the+gutter" rel="tag"&gt;This is not X rated get your mind out of the gutter&lt;/a&gt;,&lt;a href="http://blogs.icerocket.com/search?q=Agile+Development" rel="tag"&gt;Agile Development&lt;/a&gt;,&lt;a href="http://blogs.icerocket.com/search?q=Evil+Developer" rel="tag"&gt;Evil Developer&lt;/a&gt;,&lt;a href="http://blogs.icerocket.com/search?q=Developer+Humping" rel="tag"&gt;Developer Humping&lt;/a&gt;,&lt;a href="http://blogs.icerocket.com/search?q=Extreme+Programming" rel="tag"&gt;Extreme Programming&lt;/a&gt;,&lt;a href="http://blogs.icerocket.com/search?q=Sick+and+wrong" rel="tag"&gt;Sick and wrong&lt;/a&gt;&lt;/div&gt;  &lt;p&gt;&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:0f7b5dd1-6cf5-4eab-9812-64e3533d11bd" class="wlWriterSmartContent"&gt;43 Things Tags: &lt;a href="http://www.43things.com/tag/Agile+Developer+Humping" rel="tag"&gt;Agile Developer Humping&lt;/a&gt;,&lt;a href="http://www.43things.com/tag/This+is+not+X+rated+get+your+mind+out+of+the+gutter" rel="tag"&gt;This is not X rated get your mind out of the gutter&lt;/a&gt;,&lt;a href="http://www.43things.com/tag/Agile+Development" rel="tag"&gt;Agile Development&lt;/a&gt;,&lt;a href="http://www.43things.com/tag/Evil+Developer" rel="tag"&gt;Evil Developer&lt;/a&gt;,&lt;a href="http://www.43things.com/tag/Developer+Humping" rel="tag"&gt;Developer Humping&lt;/a&gt;,&lt;a href="http://www.43things.com/tag/Extreme+Programming" rel="tag"&gt;Extreme Programming&lt;/a&gt;,&lt;a href="http://www.43things.com/tag/Sick+and+wrong" rel="tag"&gt;Sick and wrong&lt;/a&gt;&lt;/div&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:7f52bb86-35dc-4656-ba9a-bc2aff33fa07" class="wlWriterSmartContent"&gt;BuzzNet Tags: &lt;a href="http://www.buzznet.com/tags/Agile+Developer+Humping" rel="tag"&gt;Agile Developer Humping&lt;/a&gt;,&lt;a href="http://www.buzznet.com/tags/This+is+not+X+rated+get+your+mind+out+of+the+gutter" rel="tag"&gt;This is not X rated get your mind out of the gutter&lt;/a&gt;,&lt;a href="http://www.buzznet.com/tags/Agile+Development" rel="tag"&gt;Agile Development&lt;/a&gt;,&lt;a href="http://www.buzznet.com/tags/Evil+Developer" rel="tag"&gt;Evil Developer&lt;/a&gt;,&lt;a href="http://www.buzznet.com/tags/Developer+Humping" rel="tag"&gt;Developer Humping&lt;/a&gt;,&lt;a href="http://www.buzznet.com/tags/Extreme+Programming" rel="tag"&gt;Extreme Programming&lt;/a&gt;,&lt;a href="http://www.buzznet.com/tags/Sick+and+wrong" rel="tag"&gt;Sick and wrong&lt;/a&gt;&lt;/div&gt;&lt;div class="wlWriterHeaderFooter" style="text-align:right; margin:0px; padding:4px 0px 4px 0px;"&gt;&lt;a href="http://digg.com/submit?url=http%3a%2f%2fweblogs.asp.net%2fmikedopp%2farchive%2f2008%2f09%2f03%2fdeveloper-humping-or-extreme-programming.aspx&amp;amp;title=Developer+Humping+or+Extreme+Programming"&gt;&lt;img src="http://digg.com/img/badges/16x16-digg-guy.png" width="16" height="16" alt="Digg This" title="Digg This" border="0" style="border: 0" /&gt;&lt;/a&gt;&lt;/div&gt;</description><pubDate>Wed, 03 Sep 2008 06:44:00 GMT</pubDate><guid isPermaLink="true">https://weblogs.asp.net:443/mikedopp/developer-humping-or-extreme-programming</guid><category>Code Review</category><category>Development</category><category>Testing</category></item><item><title>SQL Script to build ASP.NET Membership Tables</title><link>https://weblogs.asp.net:443/mikedopp/sql-script-to-build-asp-net-membership-tables</link><description>&lt;p&gt;Thought I best post this before I forget. &lt;/p&gt;  &lt;p&gt;Here is the SQL Script: &lt;/p&gt;  &lt;p&gt;/**********************************************************************/ /* InstallMembership.SQL */ /* */ /* Installs the tables, triggers and stored procedures necessary for */ /* supporting the aspnet feature of ASP.Net */ /* */ /* InstallCommon.sql must be run before running this file. */ /* ** Copyright Microsoft, Inc. 2002 ** All Rights Reserved. */ /**********************************************************************/ PRINT '-------------------------------------------' PRINT 'Starting execution of InstallMembership.SQL' PRINT '-------------------------------------------' GO SET QUOTED_IDENTIFIER OFF SET ANSI_NULLS ON -- We don't want (NULL = NULL) == TRUE GO SET ANSI_PADDING ON GO SET ANSI_NULL_DFLT_ON ON GO /*************************************************************/ /*************************************************************/ /*************************************************************/ /*************************************************************/ /*************************************************************/ DECLARE @dbname nvarchar(128) SET @dbname = N'aspnetdb' IF (NOT EXISTS (SELECT name FROM master.dbo.sysdatabases WHERE ('[' + name + ']' = @dbname OR name = @dbname))) BEGIN RAISERROR('The database ''%s'' cannot be found. Please run InstallCommon.sql first.', 18, 1, @dbname) END GO USE [aspnetdb] GO IF (NOT EXISTS (SELECT name FROM sysobjects WHERE (name = N'aspnet_Applications') AND (type = 'U'))) BEGIN RAISERROR('The table ''aspnet_Applications'' cannot be found. Please use aspnet_regsql.exe for installing ASP.NET application services.', 18, 1) END IF (NOT EXISTS (SELECT name FROM sysobjects WHERE (name = N'aspnet_Users') AND (type = 'U'))) BEGIN RAISERROR('The table ''aspnet_Users'' cannot be found. Please use aspnet_regsql.exe for installing ASP.NET application services.', 18, 1) END IF (NOT EXISTS (SELECT name FROM sysobjects WHERE (name = N'aspnet_Applications_CreateApplication') AND (type = 'P'))) BEGIN RAISERROR('The stored procedure ''aspnet_Applications_CreateApplication'' cannot be found. Please use aspnet_regsql.exe for installing ASP.NET application services.', 18, 1) END IF (NOT EXISTS (SELECT name FROM sysobjects WHERE (name = N'aspnet_Users_CreateUser') AND (type = 'P'))) BEGIN RAISERROR('The stored procedure ''aspnet_Users_CreateUser'' cannot be found. Please use aspnet_regsql.exe for installing ASP.NET application services.', 18, 1) END IF (NOT EXISTS (SELECT name FROM sysobjects WHERE (name = N'aspnet_Users_DeleteUser') AND (type = 'P'))) BEGIN RAISERROR('The stored procedure ''aspnet_Users_DeleteUser'' cannot be found. Please use aspnet_regsql.exe for installing ASP.NET application services.', 18, 1) END /*************************************************************/ /*************************************************************/ IF (NOT EXISTS (SELECT name FROM sysobjects WHERE (name = N'aspnet_Membership') AND (type = 'U'))) BEGIN PRINT 'Creating the aspnet_Membership table...' CREATE TABLE dbo.aspnet_Membership ( ApplicationId uniqueidentifier NOT NULL FOREIGN KEY REFERENCES dbo.aspnet_Applications(ApplicationId), UserId uniqueidentifier NOT NULL PRIMARY KEY NONCLUSTERED FOREIGN KEY REFERENCES dbo.aspnet_Users(UserId), Password nvarchar(128) NOT NULL, PasswordFormat int NOT NULL DEFAULT 0, PasswordSalt nvarchar(128) NOT NULL, MobilePIN nvarchar(16), Email nvarchar(256), LoweredEmail nvarchar(256), PasswordQuestion nvarchar(256), PasswordAnswer nvarchar(128), IsApproved bit NOT NULL, IsLockedOut bit NOT NULL, CreateDate datetime NOT NULL, LastLoginDate datetime NOT NULL, LastPasswordChangedDate datetime NOT NULL, LastLockoutDate datetime NOT NULL, FailedPasswordAttemptCount int NOT NULL, FailedPasswordAttemptWindowStart datetime NOT NULL, FailedPasswordAnswerAttemptCount int NOT NULL, FailedPasswordAnswerAttemptWindowStart datetime NOT NULL, Comment ntext ) CREATE CLUSTERED INDEX aspnet_Membership_index ON aspnet_Membership(ApplicationId, LoweredEmail) END GO /*************************************************************/ /*************************************************************/ /*************************************************************/ DECLARE @ver int DECLARE @version nchar(100) DECLARE @dot int DECLARE @hyphen int DECLARE @SqlToExec nchar(400) SELECT @ver = 8 SELECT @version = @@Version SELECT @hyphen = CHARINDEX(N' - ', @version) IF (NOT(@hyphen IS NULL) AND @hyphen &amp;gt; 0) BEGIN SELECT @hyphen = @hyphen + 3 SELECT @dot = CHARINDEX(N'.', @version, @hyphen) IF (NOT(@dot IS NULL) AND @dot &amp;gt; @hyphen) BEGIN SELECT @version = SUBSTRING(@version, @hyphen, @dot - @hyphen) SELECT @ver = CONVERT(int, @version) END END /*************************************************************/ IF (@ver &amp;gt;= 8) EXEC sp_tableoption N'aspnet_Membership', 'text in row', 3000 /*************************************************************/ /*************************************************************/ IF (EXISTS (SELECT name FROM sysobjects WHERE (name = N'aspnet_Membership_CreateUser') AND (type = 'P'))) DROP PROCEDURE dbo.aspnet_Membership_CreateUser GO CREATE PROCEDURE dbo.aspnet_Membership_CreateUser @ApplicationName nvarchar(256), @UserName nvarchar(256), @Password nvarchar(128), @PasswordSalt nvarchar(128), @Email nvarchar(256), @PasswordQuestion nvarchar(256), @PasswordAnswer nvarchar(128), @IsApproved bit, @CurrentTimeUtc datetime, @CreateDate datetime = NULL, @UniqueEmail int = 0, @PasswordFormat int = 0, @UserId uniqueidentifier OUTPUT AS BEGIN DECLARE @ApplicationId uniqueidentifier SELECT @ApplicationId = NULL DECLARE @NewUserId uniqueidentifier SELECT @NewUserId = NULL DECLARE @IsLockedOut bit SET @IsLockedOut = 0 DECLARE @LastLockoutDate datetime SET @LastLockoutDate = CONVERT( datetime, '17540101', 112 ) DECLARE @FailedPasswordAttemptCount int SET @FailedPasswordAttemptCount = 0 DECLARE @FailedPasswordAttemptWindowStart datetime SET @FailedPasswordAttemptWindowStart = CONVERT( datetime, '17540101', 112 ) DECLARE @FailedPasswordAnswerAttemptCount int SET @FailedPasswordAnswerAttemptCount = 0 DECLARE @FailedPasswordAnswerAttemptWindowStart datetime SET @FailedPasswordAnswerAttemptWindowStart = CONVERT( datetime, '17540101', 112 ) DECLARE @NewUserCreated bit DECLARE @ReturnValue int SET @ReturnValue = 0 DECLARE @ErrorCode int SET @ErrorCode = 0 DECLARE @TranStarted bit SET @TranStarted = 0 IF( @@TRANCOUNT = 0 ) BEGIN BEGIN TRANSACTION SET @TranStarted = 1 END ELSE SET @TranStarted = 0 EXEC dbo.aspnet_Applications_CreateApplication @ApplicationName, @ApplicationId OUTPUT IF( @@ERROR &amp;lt;&amp;gt; 0 ) BEGIN SET @ErrorCode = -1 GOTO Cleanup END SET @CreateDate = @CurrentTimeUtc SELECT @NewUserId = UserId FROM dbo.aspnet_Users WHERE LOWER(@UserName) = LoweredUserName AND @ApplicationId = ApplicationId IF ( @NewUserId IS NULL ) BEGIN SET @NewUserId = @UserId EXEC @ReturnValue = dbo.aspnet_Users_CreateUser @ApplicationId, @UserName, 0, @CreateDate, @NewUserId OUTPUT SET @NewUserCreated = 1 END ELSE BEGIN SET @NewUserCreated = 0 IF( @NewUserId &amp;lt;&amp;gt; @UserId AND @UserId IS NOT NULL ) BEGIN SET @ErrorCode = 6 GOTO Cleanup END END IF( @@ERROR &amp;lt;&amp;gt; 0 ) BEGIN SET @ErrorCode = -1 GOTO Cleanup END IF( @ReturnValue = -1 ) BEGIN SET @ErrorCode = 10 GOTO Cleanup END IF ( EXISTS ( SELECT UserId FROM dbo.aspnet_Membership WHERE @NewUserId = UserId ) ) BEGIN SET @ErrorCode = 6 GOTO Cleanup END SET @UserId = @NewUserId IF (@UniqueEmail = 1) BEGIN IF (EXISTS (SELECT * FROM dbo.aspnet_Membership m WITH ( UPDLOCK, HOLDLOCK ) WHERE ApplicationId = @ApplicationId AND LoweredEmail = LOWER(@Email))) BEGIN SET @ErrorCode = 7 GOTO Cleanup END END IF (@NewUserCreated = 0) BEGIN UPDATE dbo.aspnet_Users SET LastActivityDate = @CreateDate WHERE @UserId = UserId IF( @@ERROR &amp;lt;&amp;gt; 0 ) BEGIN SET @ErrorCode = -1 GOTO Cleanup END END INSERT INTO dbo.aspnet_Membership ( ApplicationId, UserId, Password, PasswordSalt, Email, LoweredEmail, PasswordQuestion, PasswordAnswer, PasswordFormat, IsApproved, IsLockedOut, CreateDate, LastLoginDate, LastPasswordChangedDate, LastLockoutDate, FailedPasswordAttemptCount, FailedPasswordAttemptWindowStart, FailedPasswordAnswerAttemptCount, FailedPasswordAnswerAttemptWindowStart ) VALUES ( @ApplicationId, @UserId, @Password, @PasswordSalt, @Email, LOWER(@Email), @PasswordQuestion, @PasswordAnswer, @PasswordFormat, @IsApproved, @IsLockedOut, @CreateDate, @CreateDate, @CreateDate, @LastLockoutDate, @FailedPasswordAttemptCount, @FailedPasswordAttemptWindowStart, @FailedPasswordAnswerAttemptCount, @FailedPasswordAnswerAttemptWindowStart ) IF( @@ERROR &amp;lt;&amp;gt; 0 ) BEGIN SET @ErrorCode = -1 GOTO Cleanup END IF( @TranStarted = 1 ) BEGIN SET @TranStarted = 0 COMMIT TRANSACTION END RETURN 0 Cleanup: IF( @TranStarted = 1 ) BEGIN SET @TranStarted = 0 ROLLBACK TRANSACTION END RETURN @ErrorCode END GO /*************************************************************/ /*************************************************************/ IF (EXISTS (SELECT name FROM sysobjects WHERE (name = N'aspnet_Membership_GetUserByName') AND (type = 'P'))) DROP PROCEDURE dbo.aspnet_Membership_GetUserByName GO CREATE PROCEDURE dbo.aspnet_Membership_GetUserByName @ApplicationName nvarchar(256), @UserName nvarchar(256), @CurrentTimeUtc datetime, @UpdateLastActivity bit = 0 AS BEGIN DECLARE @UserId uniqueidentifier IF (@UpdateLastActivity = 1) BEGIN -- select user ID from aspnet_users table SELECT TOP 1 @UserId = u.UserId FROM dbo.aspnet_Applications a, dbo.aspnet_Users u, dbo.aspnet_Membership m WHERE LOWER(@ApplicationName) = a.LoweredApplicationName AND u.ApplicationId = a.ApplicationId AND LOWER(@UserName) = u.LoweredUserName AND u.UserId = m.UserId IF (@@ROWCOUNT = 0) -- Username not found RETURN -1 UPDATE dbo.aspnet_Users SET LastActivityDate = @CurrentTimeUtc WHERE @UserId = UserId SELECT m.Email, m.PasswordQuestion, m.Comment, m.IsApproved, m.CreateDate, m.LastLoginDate, u.LastActivityDate, m.LastPasswordChangedDate, u.UserId, m.IsLockedOut, m.LastLockoutDate FROM dbo.aspnet_Applications a, dbo.aspnet_Users u, dbo.aspnet_Membership m WHERE @UserId = u.UserId AND u.UserId = m.UserId END ELSE BEGIN SELECT TOP 1 m.Email, m.PasswordQuestion, m.Comment, m.IsApproved, m.CreateDate, m.LastLoginDate, u.LastActivityDate, m.LastPasswordChangedDate, u.UserId, m.IsLockedOut,m.LastLockoutDate FROM dbo.aspnet_Applications a, dbo.aspnet_Users u, dbo.aspnet_Membership m WHERE LOWER(@ApplicationName) = a.LoweredApplicationName AND u.ApplicationId = a.ApplicationId AND LOWER(@UserName) = u.LoweredUserName AND u.UserId = m.UserId IF (@@ROWCOUNT = 0) -- Username not found RETURN -1 END RETURN 0 END GO /*************************************************************/ /*************************************************************/ IF (EXISTS (SELECT name FROM sysobjects WHERE (name = N'aspnet_Membership_GetUserByUserId') AND (type = 'P'))) DROP PROCEDURE dbo.aspnet_Membership_GetUserByUserId GO CREATE PROCEDURE dbo.aspnet_Membership_GetUserByUserId @UserId uniqueidentifier, @CurrentTimeUtc datetime, @UpdateLastActivity bit = 0 AS BEGIN IF ( @UpdateLastActivity = 1 ) BEGIN UPDATE dbo.aspnet_Users SET LastActivityDate = @CurrentTimeUtc FROM dbo.aspnet_Users WHERE @UserId = UserId IF ( @@ROWCOUNT = 0 ) -- User ID not found RETURN -1 END SELECT m.Email, m.PasswordQuestion, m.Comment, m.IsApproved, m.CreateDate, m.LastLoginDate, u.LastActivityDate, m.LastPasswordChangedDate, u.UserName, m.IsLockedOut, m.LastLockoutDate FROM dbo.aspnet_Users u, dbo.aspnet_Membership m WHERE @UserId = u.UserId AND u.UserId = m.UserId IF ( @@ROWCOUNT = 0 ) -- User ID not found RETURN -1 RETURN 0 END GO /*************************************************************/ /*************************************************************/ IF (EXISTS (SELECT name FROM sysobjects WHERE (name = N'aspnet_Membership_GetUserByEmail') AND (type = 'P'))) DROP PROCEDURE dbo.aspnet_Membership_GetUserByEmail GO CREATE PROCEDURE dbo.aspnet_Membership_GetUserByEmail @ApplicationName nvarchar(256), @Email nvarchar(256) AS BEGIN IF( @Email IS NULL ) SELECT u.UserName FROM dbo.aspnet_Applications a, dbo.aspnet_Users u, dbo.aspnet_Membership m WHERE LOWER(@ApplicationName) = a.LoweredApplicationName AND u.ApplicationId = a.ApplicationId AND u.UserId = m.UserId AND m.LoweredEmail IS NULL ELSE SELECT u.UserName FROM dbo.aspnet_Applications a, dbo.aspnet_Users u, dbo.aspnet_Membership m WHERE LOWER(@ApplicationName) = a.LoweredApplicationName AND u.ApplicationId = a.ApplicationId AND u.UserId = m.UserId AND LOWER(@Email) = m.LoweredEmail IF (@@rowcount = 0) RETURN(1) RETURN(0) END GO /*************************************************************/ /*************************************************************/ IF ( EXISTS( SELECT name FROM sysobjects WHERE ( name = N'aspnet_Membership_GetPasswordWithFormat' ) AND ( type = 'P' ) ) ) DROP PROCEDURE dbo.aspnet_Membership_GetPasswordWithFormat GO CREATE PROCEDURE dbo.aspnet_Membership_GetPasswordWithFormat @ApplicationName nvarchar(256), @UserName nvarchar(256), @UpdateLastLoginActivityDate bit, @CurrentTimeUtc datetime AS BEGIN DECLARE @IsLockedOut bit DECLARE @UserId uniqueidentifier DECLARE @Password nvarchar(128) DECLARE @PasswordSalt nvarchar(128) DECLARE @PasswordFormat int DECLARE @FailedPasswordAttemptCount int DECLARE @FailedPasswordAnswerAttemptCount int DECLARE @IsApproved bit DECLARE @LastActivityDate datetime DECLARE @LastLoginDate datetime SELECT @UserId = NULL SELECT @UserId = u.UserId, @IsLockedOut = m.IsLockedOut, @Password=Password, @PasswordFormat=PasswordFormat, @PasswordSalt=PasswordSalt, @FailedPasswordAttemptCount=FailedPasswordAttemptCount, @FailedPasswordAnswerAttemptCount=FailedPasswordAnswerAttemptCount, @IsApproved=IsApproved, @LastActivityDate = LastActivityDate, @LastLoginDate = LastLoginDate FROM dbo.aspnet_Applications a, dbo.aspnet_Users u, dbo.aspnet_Membership m WHERE LOWER(@ApplicationName) = a.LoweredApplicationName AND u.ApplicationId = a.ApplicationId AND u.UserId = m.UserId AND LOWER(@UserName) = u.LoweredUserName IF (@UserId IS NULL) RETURN 1 IF (@IsLockedOut = 1) RETURN 99 SELECT @Password, @PasswordFormat, @PasswordSalt, @FailedPasswordAttemptCount, @FailedPasswordAnswerAttemptCount, @IsApproved, @LastLoginDate, @LastActivityDate IF (@UpdateLastLoginActivityDate = 1 AND @IsApproved = 1) BEGIN UPDATE dbo.aspnet_Membership SET LastLoginDate = @CurrentTimeUtc WHERE UserId = @UserId UPDATE dbo.aspnet_Users SET LastActivityDate = @CurrentTimeUtc WHERE @UserId = UserId END RETURN 0 END GO /*************************************************************/ /*************************************************************/ IF ( EXISTS( SELECT name FROM sysobjects WHERE ( name = N'aspnet_Membership_UpdateUserInfo' ) AND ( type = 'P' ) ) ) DROP PROCEDURE dbo.aspnet_Membership_UpdateUserInfo GO CREATE PROCEDURE dbo.aspnet_Membership_UpdateUserInfo @ApplicationName nvarchar(256), @UserName nvarchar(256), @IsPasswordCorrect bit, @UpdateLastLoginActivityDate bit, @MaxInvalidPasswordAttempts int, @PasswordAttemptWindow int, @CurrentTimeUtc datetime, @LastLoginDate datetime, @LastActivityDate datetime AS BEGIN DECLARE @UserId uniqueidentifier DECLARE @IsApproved bit DECLARE @IsLockedOut bit DECLARE @LastLockoutDate datetime DECLARE @FailedPasswordAttemptCount int DECLARE @FailedPasswordAttemptWindowStart datetime DECLARE @FailedPasswordAnswerAttemptCount int DECLARE @FailedPasswordAnswerAttemptWindowStart datetime DECLARE @ErrorCode int SET @ErrorCode = 0 DECLARE @TranStarted bit SET @TranStarted = 0 IF( @@TRANCOUNT = 0 ) BEGIN BEGIN TRANSACTION SET @TranStarted = 1 END ELSE SET @TranStarted = 0 SELECT @UserId = u.UserId, @IsApproved = m.IsApproved, @IsLockedOut = m.IsLockedOut, @LastLockoutDate = m.LastLockoutDate, @FailedPasswordAttemptCount = m.FailedPasswordAttemptCount, @FailedPasswordAttemptWindowStart = m.FailedPasswordAttemptWindowStart, @FailedPasswordAnswerAttemptCount = m.FailedPasswordAnswerAttemptCount, @FailedPasswordAnswerAttemptWindowStart = m.FailedPasswordAnswerAttemptWindowStart FROM dbo.aspnet_Applications a, dbo.aspnet_Users u, dbo.aspnet_Membership m WITH ( UPDLOCK ) WHERE LOWER(@ApplicationName) = a.LoweredApplicationName AND u.ApplicationId = a.ApplicationId AND u.UserId = m.UserId AND LOWER(@UserName) = u.LoweredUserName IF ( @@rowcount = 0 ) BEGIN SET @ErrorCode = 1 GOTO Cleanup END IF( @IsLockedOut = 1 ) BEGIN GOTO Cleanup END IF( @IsPasswordCorrect = 0 ) BEGIN IF( @CurrentTimeUtc &amp;gt; DATEADD( minute, @PasswordAttemptWindow, @FailedPasswordAttemptWindowStart ) ) BEGIN SET @FailedPasswordAttemptWindowStart = @CurrentTimeUtc SET @FailedPasswordAttemptCount = 1 END ELSE BEGIN SET @FailedPasswordAttemptWindowStart = @CurrentTimeUtc SET @FailedPasswordAttemptCount = @FailedPasswordAttemptCount + 1 END BEGIN IF( @FailedPasswordAttemptCount &amp;gt;= @MaxInvalidPasswordAttempts ) BEGIN SET @IsLockedOut = 1 SET @LastLockoutDate = @CurrentTimeUtc END END END ELSE BEGIN IF( @FailedPasswordAttemptCount &amp;gt; 0 OR @FailedPasswordAnswerAttemptCount &amp;gt; 0 ) BEGIN SET @FailedPasswordAttemptCount = 0 SET @FailedPasswordAttemptWindowStart = CONVERT( datetime, '17540101', 112 ) SET @FailedPasswordAnswerAttemptCount = 0 SET @FailedPasswordAnswerAttemptWindowStart = CONVERT( datetime, '17540101', 112 ) SET @LastLockoutDate = CONVERT( datetime, '17540101', 112 ) END END IF( @UpdateLastLoginActivityDate = 1 ) BEGIN UPDATE dbo.aspnet_Users SET LastActivityDate = @LastActivityDate WHERE @UserId = UserId IF( @@ERROR &amp;lt;&amp;gt; 0 ) BEGIN SET @ErrorCode = -1 GOTO Cleanup END UPDATE dbo.aspnet_Membership SET LastLoginDate = @LastLoginDate WHERE UserId = @UserId IF( @@ERROR &amp;lt;&amp;gt; 0 ) BEGIN SET @ErrorCode = -1 GOTO Cleanup END END UPDATE dbo.aspnet_Membership SET IsLockedOut = @IsLockedOut, LastLockoutDate = @LastLockoutDate, FailedPasswordAttemptCount = @FailedPasswordAttemptCount, FailedPasswordAttemptWindowStart = @FailedPasswordAttemptWindowStart, FailedPasswordAnswerAttemptCount = @FailedPasswordAnswerAttemptCount, FailedPasswordAnswerAttemptWindowStart = @FailedPasswordAnswerAttemptWindowStart WHERE @UserId = UserId IF( @@ERROR &amp;lt;&amp;gt; 0 ) BEGIN SET @ErrorCode = -1 GOTO Cleanup END IF( @TranStarted = 1 ) BEGIN SET @TranStarted = 0 COMMIT TRANSACTION END RETURN @ErrorCode Cleanup: IF( @TranStarted = 1 ) BEGIN SET @TranStarted = 0 ROLLBACK TRANSACTION END RETURN @ErrorCode END GO /*************************************************************/ /*************************************************************/ IF (EXISTS (SELECT name FROM sysobjects WHERE (name = N'aspnet_Membership_GetPassword') AND (type = 'P'))) DROP PROCEDURE dbo.aspnet_Membership_GetPassword GO CREATE PROCEDURE dbo.aspnet_Membership_GetPassword @ApplicationName nvarchar(256), @UserName nvarchar(256), @MaxInvalidPasswordAttempts int, @PasswordAttemptWindow int, @CurrentTimeUtc datetime, @PasswordAnswer nvarchar(128) = NULL AS BEGIN DECLARE @UserId uniqueidentifier DECLARE @PasswordFormat int DECLARE @Password nvarchar(128) DECLARE @passAns nvarchar(128) DECLARE @IsLockedOut bit DECLARE @LastLockoutDate datetime DECLARE @FailedPasswordAttemptCount int DECLARE @FailedPasswordAttemptWindowStart datetime DECLARE @FailedPasswordAnswerAttemptCount int DECLARE @FailedPasswordAnswerAttemptWindowStart datetime DECLARE @ErrorCode int SET @ErrorCode = 0 DECLARE @TranStarted bit SET @TranStarted = 0 IF( @@TRANCOUNT = 0 ) BEGIN BEGIN TRANSACTION SET @TranStarted = 1 END ELSE SET @TranStarted = 0 SELECT @UserId = u.UserId, @Password = m.Password, @passAns = m.PasswordAnswer, @PasswordFormat = m.PasswordFormat, @IsLockedOut = m.IsLockedOut, @LastLockoutDate = m.LastLockoutDate, @FailedPasswordAttemptCount = m.FailedPasswordAttemptCount, @FailedPasswordAttemptWindowStart = m.FailedPasswordAttemptWindowStart, @FailedPasswordAnswerAttemptCount = m.FailedPasswordAnswerAttemptCount, @FailedPasswordAnswerAttemptWindowStart = m.FailedPasswordAnswerAttemptWindowStart FROM dbo.aspnet_Applications a, dbo.aspnet_Users u, dbo.aspnet_Membership m WITH ( UPDLOCK ) WHERE LOWER(@ApplicationName) = a.LoweredApplicationName AND u.ApplicationId = a.ApplicationId AND u.UserId = m.UserId AND LOWER(@UserName) = u.LoweredUserName IF ( @@rowcount = 0 ) BEGIN SET @ErrorCode = 1 GOTO Cleanup END IF( @IsLockedOut = 1 ) BEGIN SET @ErrorCode = 99 GOTO Cleanup END IF ( NOT( @PasswordAnswer IS NULL ) ) BEGIN IF( ( @passAns IS NULL ) OR ( LOWER( @passAns ) &amp;lt;&amp;gt; LOWER( @PasswordAnswer ) ) ) BEGIN IF( @CurrentTimeUtc &amp;gt; DATEADD( minute, @PasswordAttemptWindow, @FailedPasswordAnswerAttemptWindowStart ) ) BEGIN SET @FailedPasswordAnswerAttemptWindowStart = @CurrentTimeUtc SET @FailedPasswordAnswerAttemptCount = 1 END ELSE BEGIN SET @FailedPasswordAnswerAttemptCount = @FailedPasswordAnswerAttemptCount + 1 SET @FailedPasswordAnswerAttemptWindowStart = @CurrentTimeUtc END BEGIN IF( @FailedPasswordAnswerAttemptCount &amp;gt;= @MaxInvalidPasswordAttempts ) BEGIN SET @IsLockedOut = 1 SET @LastLockoutDate = @CurrentTimeUtc END END SET @ErrorCode = 3 END ELSE BEGIN IF( @FailedPasswordAnswerAttemptCount &amp;gt; 0 ) BEGIN SET @FailedPasswordAnswerAttemptCount = 0 SET @FailedPasswordAnswerAttemptWindowStart = CONVERT( datetime, '17540101', 112 ) END END UPDATE dbo.aspnet_Membership SET IsLockedOut = @IsLockedOut, LastLockoutDate = @LastLockoutDate, FailedPasswordAttemptCount = @FailedPasswordAttemptCount, FailedPasswordAttemptWindowStart = @FailedPasswordAttemptWindowStart, FailedPasswordAnswerAttemptCount = @FailedPasswordAnswerAttemptCount, FailedPasswordAnswerAttemptWindowStart = @FailedPasswordAnswerAttemptWindowStart WHERE @UserId = UserId IF( @@ERROR &amp;lt;&amp;gt; 0 ) BEGIN SET @ErrorCode = -1 GOTO Cleanup END END IF( @TranStarted = 1 ) BEGIN SET @TranStarted = 0 COMMIT TRANSACTION END IF( @ErrorCode = 0 ) SELECT @Password, @PasswordFormat RETURN @ErrorCode Cleanup: IF( @TranStarted = 1 ) BEGIN SET @TranStarted = 0 ROLLBACK TRANSACTION END RETURN @ErrorCode END GO /*************************************************************/ /*************************************************************/ IF (EXISTS (SELECT name FROM sysobjects WHERE (name = N'aspnet_Membership_SetPassword') AND (type = 'P'))) DROP PROCEDURE dbo.aspnet_Membership_SetPassword GO CREATE PROCEDURE dbo.aspnet_Membership_SetPassword @ApplicationName nvarchar(256), @UserName nvarchar(256), @NewPassword nvarchar(128), @PasswordSalt nvarchar(128), @CurrentTimeUtc datetime, @PasswordFormat int = 0 AS BEGIN DECLARE @UserId uniqueidentifier SELECT @UserId = NULL SELECT @UserId = u.UserId FROM dbo.aspnet_Users u, dbo.aspnet_Applications a, dbo.aspnet_Membership m WHERE LoweredUserName = LOWER(@UserName) AND u.ApplicationId = a.ApplicationId AND LOWER(@ApplicationName) = a.LoweredApplicationName AND u.UserId = m.UserId IF (@UserId IS NULL) RETURN(1) UPDATE dbo.aspnet_Membership SET Password = @NewPassword, PasswordFormat = @PasswordFormat, PasswordSalt = @PasswordSalt, LastPasswordChangedDate = @CurrentTimeUtc WHERE @UserId = UserId RETURN(0) END GO /*************************************************************/ /*************************************************************/ IF (EXISTS (SELECT name FROM sysobjects WHERE (name = N'aspnet_Membership_ResetPassword') AND (type = 'P'))) DROP PROCEDURE dbo.aspnet_Membership_ResetPassword GO CREATE PROCEDURE dbo.aspnet_Membership_ResetPassword @ApplicationName nvarchar(256), @UserName nvarchar(256), @NewPassword nvarchar(128), @MaxInvalidPasswordAttempts int, @PasswordAttemptWindow int, @PasswordSalt nvarchar(128), @CurrentTimeUtc datetime, @PasswordFormat int = 0, @PasswordAnswer nvarchar(128) = NULL AS BEGIN DECLARE @IsLockedOut bit DECLARE @LastLockoutDate datetime DECLARE @FailedPasswordAttemptCount int DECLARE @FailedPasswordAttemptWindowStart datetime DECLARE @FailedPasswordAnswerAttemptCount int DECLARE @FailedPasswordAnswerAttemptWindowStart datetime DECLARE @UserId uniqueidentifier SET @UserId = NULL DECLARE @ErrorCode int SET @ErrorCode = 0 DECLARE @TranStarted bit SET @TranStarted = 0 IF( @@TRANCOUNT = 0 ) BEGIN BEGIN TRANSACTION SET @TranStarted = 1 END ELSE SET @TranStarted = 0 SELECT @UserId = u.UserId FROM dbo.aspnet_Users u, dbo.aspnet_Applications a, dbo.aspnet_Membership m WHERE LoweredUserName = LOWER(@UserName) AND u.ApplicationId = a.ApplicationId AND LOWER(@ApplicationName) = a.LoweredApplicationName AND u.UserId = m.UserId IF ( @UserId IS NULL ) BEGIN SET @ErrorCode = 1 GOTO Cleanup END SELECT @IsLockedOut = IsLockedOut, @LastLockoutDate = LastLockoutDate, @FailedPasswordAttemptCount = FailedPasswordAttemptCount, @FailedPasswordAttemptWindowStart = FailedPasswordAttemptWindowStart, @FailedPasswordAnswerAttemptCount = FailedPasswordAnswerAttemptCount, @FailedPasswordAnswerAttemptWindowStart = FailedPasswordAnswerAttemptWindowStart FROM dbo.aspnet_Membership WITH ( UPDLOCK ) WHERE @UserId = UserId IF( @IsLockedOut = 1 ) BEGIN SET @ErrorCode = 99 GOTO Cleanup END UPDATE dbo.aspnet_Membership SET Password = @NewPassword, LastPasswordChangedDate = @CurrentTimeUtc, PasswordFormat = @PasswordFormat, PasswordSalt = @PasswordSalt WHERE @UserId = UserId AND ( ( @PasswordAnswer IS NULL ) OR ( LOWER( PasswordAnswer ) = LOWER( @PasswordAnswer ) ) ) IF ( @@ROWCOUNT = 0 ) BEGIN IF( @CurrentTimeUtc &amp;gt; DATEADD( minute, @PasswordAttemptWindow, @FailedPasswordAnswerAttemptWindowStart ) ) BEGIN SET @FailedPasswordAnswerAttemptWindowStart = @CurrentTimeUtc SET @FailedPasswordAnswerAttemptCount = 1 END ELSE BEGIN SET @FailedPasswordAnswerAttemptWindowStart = @CurrentTimeUtc SET @FailedPasswordAnswerAttemptCount = @FailedPasswordAnswerAttemptCount + 1 END BEGIN IF( @FailedPasswordAnswerAttemptCount &amp;gt;= @MaxInvalidPasswordAttempts ) BEGIN SET @IsLockedOut = 1 SET @LastLockoutDate = @CurrentTimeUtc END END SET @ErrorCode = 3 END ELSE BEGIN IF( @FailedPasswordAnswerAttemptCount &amp;gt; 0 ) BEGIN SET @FailedPasswordAnswerAttemptCount = 0 SET @FailedPasswordAnswerAttemptWindowStart = CONVERT( datetime, '17540101', 112 ) END END IF( NOT ( @PasswordAnswer IS NULL ) ) BEGIN UPDATE dbo.aspnet_Membership SET IsLockedOut = @IsLockedOut, LastLockoutDate = @LastLockoutDate, FailedPasswordAttemptCount = @FailedPasswordAttemptCount, FailedPasswordAttemptWindowStart = @FailedPasswordAttemptWindowStart, FailedPasswordAnswerAttemptCount = @FailedPasswordAnswerAttemptCount, FailedPasswordAnswerAttemptWindowStart = @FailedPasswordAnswerAttemptWindowStart WHERE @UserId = UserId IF( @@ERROR &amp;lt;&amp;gt; 0 ) BEGIN SET @ErrorCode = -1 GOTO Cleanup END END IF( @TranStarted = 1 ) BEGIN SET @TranStarted = 0 COMMIT TRANSACTION END RETURN @ErrorCode Cleanup: IF( @TranStarted = 1 ) BEGIN SET @TranStarted = 0 ROLLBACK TRANSACTION END RETURN @ErrorCode END GO /*************************************************************/ /*************************************************************/ IF (EXISTS (SELECT name FROM sysobjects WHERE (name = N'aspnet_Membership_UnlockUser') AND (type = 'P'))) DROP PROCEDURE dbo.aspnet_Membership_UnlockUser GO CREATE PROCEDURE dbo.aspnet_Membership_UnlockUser @ApplicationName nvarchar(256), @UserName nvarchar(256) AS BEGIN DECLARE @UserId uniqueidentifier SELECT @UserId = NULL SELECT @UserId = u.UserId FROM dbo.aspnet_Users u, dbo.aspnet_Applications a, dbo.aspnet_Membership m WHERE LoweredUserName = LOWER(@UserName) AND u.ApplicationId = a.ApplicationId AND LOWER(@ApplicationName) = a.LoweredApplicationName AND u.UserId = m.UserId IF ( @UserId IS NULL ) RETURN 1 UPDATE dbo.aspnet_Membership SET IsLockedOut = 0, FailedPasswordAttemptCount = 0, FailedPasswordAttemptWindowStart = CONVERT( datetime, '17540101', 112 ), FailedPasswordAnswerAttemptCount = 0, FailedPasswordAnswerAttemptWindowStart = CONVERT( datetime, '17540101', 112 ), LastLockoutDate = CONVERT( datetime, '17540101', 112 ) WHERE @UserId = UserId RETURN 0 END GO /*************************************************************/ /*************************************************************/ IF (EXISTS (SELECT name FROM sysobjects WHERE (name = N'aspnet_Membership_UpdateUser') AND (type = 'P'))) DROP PROCEDURE dbo.aspnet_Membership_UpdateUser GO CREATE PROCEDURE dbo.aspnet_Membership_UpdateUser @ApplicationName nvarchar(256), @UserName nvarchar(256), @Email nvarchar(256), @Comment ntext, @IsApproved bit, @LastLoginDate datetime, @LastActivityDate datetime, @UniqueEmail int, @CurrentTimeUtc datetime AS BEGIN DECLARE @UserId uniqueidentifier DECLARE @ApplicationId uniqueidentifier SELECT @UserId = NULL SELECT @UserId = u.UserId, @ApplicationId = a.ApplicationId FROM dbo.aspnet_Users u, dbo.aspnet_Applications a, dbo.aspnet_Membership m WHERE LoweredUserName = LOWER(@UserName) AND u.ApplicationId = a.ApplicationId AND LOWER(@ApplicationName) = a.LoweredApplicationName AND u.UserId = m.UserId IF (@UserId IS NULL) RETURN(1) IF (@UniqueEmail = 1) BEGIN IF (EXISTS (SELECT * FROM dbo.aspnet_Membership WITH (UPDLOCK, HOLDLOCK) WHERE ApplicationId = @ApplicationId AND @UserId &amp;lt;&amp;gt; UserId AND LoweredEmail = LOWER(@Email))) BEGIN RETURN(7) END END DECLARE @TranStarted bit SET @TranStarted = 0 IF( @@TRANCOUNT = 0 ) BEGIN BEGIN TRANSACTION SET @TranStarted = 1 END ELSE SET @TranStarted = 0 UPDATE dbo.aspnet_Users WITH (ROWLOCK) SET LastActivityDate = @LastActivityDate WHERE @UserId = UserId IF( @@ERROR &amp;lt;&amp;gt; 0 ) GOTO Cleanup UPDATE dbo.aspnet_Membership WITH (ROWLOCK) SET Email = @Email, LoweredEmail = LOWER(@Email), Comment = @Comment, IsApproved = @IsApproved, LastLoginDate = @LastLoginDate WHERE @UserId = UserId IF( @@ERROR &amp;lt;&amp;gt; 0 ) GOTO Cleanup IF( @TranStarted = 1 ) BEGIN SET @TranStarted = 0 COMMIT TRANSACTION END RETURN 0 Cleanup: IF( @TranStarted = 1 ) BEGIN SET @TranStarted = 0 ROLLBACK TRANSACTION END RETURN -1 END GO /*************************************************************/ /*************************************************************/ IF (EXISTS (SELECT name FROM sysobjects WHERE (name = N'aspnet_Membership_ChangePasswordQuestionAndAnswer') AND (type = 'P'))) DROP PROCEDURE dbo.aspnet_Membership_ChangePasswordQuestionAndAnswer GO CREATE PROCEDURE dbo.aspnet_Membership_ChangePasswordQuestionAndAnswer @ApplicationName nvarchar(256), @UserName nvarchar(256), @NewPasswordQuestion nvarchar(256), @NewPasswordAnswer nvarchar(128) AS BEGIN DECLARE @UserId uniqueidentifier SELECT @UserId = NULL SELECT @UserId = u.UserId FROM dbo.aspnet_Membership m, dbo.aspnet_Users u, dbo.aspnet_Applications a WHERE LoweredUserName = LOWER(@UserName) AND u.ApplicationId = a.ApplicationId AND LOWER(@ApplicationName) = a.LoweredApplicationName AND u.UserId = m.UserId IF (@UserId IS NULL) BEGIN RETURN(1) END UPDATE dbo.aspnet_Membership SET PasswordQuestion = @NewPasswordQuestion, PasswordAnswer = @NewPasswordAnswer WHERE UserId=@UserId RETURN(0) END GO /*************************************************************/ /*************************************************************/ IF (EXISTS (SELECT name FROM sysobjects WHERE (name = N'aspnet_Membership_GetAllUsers') AND (type = 'P'))) DROP PROCEDURE dbo.aspnet_Membership_GetAllUsers GO CREATE PROCEDURE dbo.aspnet_Membership_GetAllUsers @ApplicationName nvarchar(256), @PageIndex int, @PageSize int AS BEGIN DECLARE @ApplicationId uniqueidentifier SELECT @ApplicationId = NULL SELECT @ApplicationId = ApplicationId FROM dbo.aspnet_Applications WHERE LOWER(@ApplicationName) = LoweredApplicationName IF (@ApplicationId IS NULL) RETURN 0 -- Set the page bounds DECLARE @PageLowerBound int DECLARE @PageUpperBound int DECLARE @TotalRecords int SET @PageLowerBound = @PageSize * @PageIndex SET @PageUpperBound = @PageSize - 1 + @PageLowerBound -- Create a temp table TO store the select results CREATE TABLE #PageIndexForUsers ( IndexId int IDENTITY (0, 1) NOT NULL, UserId uniqueidentifier ) -- Insert into our temp table INSERT INTO #PageIndexForUsers (UserId) SELECT u.UserId FROM dbo.aspnet_Membership m, dbo.aspnet_Users u WHERE u.ApplicationId = @ApplicationId AND u.UserId = m.UserId ORDER BY u.UserName SELECT @TotalRecords = @@ROWCOUNT SELECT u.UserName, m.Email, m.PasswordQuestion, m.Comment, m.IsApproved, m.CreateDate, m.LastLoginDate, u.LastActivityDate, m.LastPasswordChangedDate, u.UserId, m.IsLockedOut, m.LastLockoutDate FROM dbo.aspnet_Membership m, dbo.aspnet_Users u, #PageIndexForUsers p WHERE u.UserId = p.UserId AND u.UserId = m.UserId AND p.IndexId &amp;gt;= @PageLowerBound AND p.IndexId &amp;lt;= @PageUpperBound ORDER BY u.UserName RETURN @TotalRecords END GO /*************************************************************/ /*************************************************************/ IF (EXISTS (SELECT name FROM sysobjects WHERE (name = N'aspnet_Membership_GetNumberOfUsersOnline') AND (type = 'P'))) DROP PROCEDURE dbo.aspnet_Membership_GetNumberOfUsersOnline GO CREATE PROCEDURE dbo.aspnet_Membership_GetNumberOfUsersOnline @ApplicationName nvarchar(256), @MinutesSinceLastInActive int, @CurrentTimeUtc datetime AS BEGIN DECLARE @DateActive datetime SELECT @DateActive = DATEADD(minute, -(@MinutesSinceLastInActive), @CurrentTimeUtc) DECLARE @NumOnline int SELECT @NumOnline = COUNT(*) FROM dbo.aspnet_Users u(NOLOCK), dbo.aspnet_Applications a(NOLOCK), dbo.aspnet_Membership m(NOLOCK) WHERE u.ApplicationId = a.ApplicationId AND LastActivityDate &amp;gt; @DateActive AND a.LoweredApplicationName = LOWER(@ApplicationName) AND u.UserId = m.UserId RETURN(@NumOnline) END GO /*************************************************************/ /*************************************************************/ IF (EXISTS (SELECT name FROM sysobjects WHERE (name = N'aspnet_Membership_FindUsersByName') AND (type = 'P'))) DROP PROCEDURE dbo.aspnet_Membership_FindUsersByName GO CREATE PROCEDURE dbo.aspnet_Membership_FindUsersByName @ApplicationName nvarchar(256), @UserNameToMatch nvarchar(256), @PageIndex int, @PageSize int AS BEGIN DECLARE @ApplicationId uniqueidentifier SELECT @ApplicationId = NULL SELECT @ApplicationId = ApplicationId FROM dbo.aspnet_Applications WHERE LOWER(@ApplicationName) = LoweredApplicationName IF (@ApplicationId IS NULL) RETURN 0 -- Set the page bounds DECLARE @PageLowerBound int DECLARE @PageUpperBound int DECLARE @TotalRecords int SET @PageLowerBound = @PageSize * @PageIndex SET @PageUpperBound = @PageSize - 1 + @PageLowerBound -- Create a temp table TO store the select results CREATE TABLE #PageIndexForUsers ( IndexId int IDENTITY (0, 1) NOT NULL, UserId uniqueidentifier ) -- Insert into our temp table INSERT INTO #PageIndexForUsers (UserId) SELECT u.UserId FROM dbo.aspnet_Users u, dbo.aspnet_Membership m WHERE u.ApplicationId = @ApplicationId AND m.UserId = u.UserId AND u.LoweredUserName LIKE LOWER(@UserNameToMatch) ORDER BY u.UserName SELECT u.UserName, m.Email, m.PasswordQuestion, m.Comment, m.IsApproved, m.CreateDate, m.LastLoginDate, u.LastActivityDate, m.LastPasswordChangedDate, u.UserId, m.IsLockedOut, m.LastLockoutDate FROM dbo.aspnet_Membership m, dbo.aspnet_Users u, #PageIndexForUsers p WHERE u.UserId = p.UserId AND u.UserId = m.UserId AND p.IndexId &amp;gt;= @PageLowerBound AND p.IndexId &amp;lt;= @PageUpperBound ORDER BY u.UserName SELECT @TotalRecords = COUNT(*) FROM #PageIndexForUsers RETURN @TotalRecords END GO /*************************************************************/ /*************************************************************/ IF (EXISTS (SELECT name FROM sysobjects WHERE (name = N'aspnet_Membership_FindUsersByEmail') AND (type = 'P'))) DROP PROCEDURE dbo.aspnet_Membership_FindUsersByEmail GO CREATE PROCEDURE dbo.aspnet_Membership_FindUsersByEmail @ApplicationName nvarchar(256), @EmailToMatch nvarchar(256), @PageIndex int, @PageSize int AS BEGIN DECLARE @ApplicationId uniqueidentifier SELECT @ApplicationId = NULL SELECT @ApplicationId = ApplicationId FROM dbo.aspnet_Applications WHERE LOWER(@ApplicationName) = LoweredApplicationName IF (@ApplicationId IS NULL) RETURN 0 -- Set the page bounds DECLARE @PageLowerBound int DECLARE @PageUpperBound int DECLARE @TotalRecords int SET @PageLowerBound = @PageSize * @PageIndex SET @PageUpperBound = @PageSize - 1 + @PageLowerBound -- Create a temp table TO store the select results CREATE TABLE #PageIndexForUsers ( IndexId int IDENTITY (0, 1) NOT NULL, UserId uniqueidentifier ) -- Insert into our temp table IF( @EmailToMatch IS NULL ) INSERT INTO #PageIndexForUsers (UserId) SELECT u.UserId FROM dbo.aspnet_Users u, dbo.aspnet_Membership m WHERE u.ApplicationId = @ApplicationId AND m.UserId = u.UserId AND m.Email IS NULL ORDER BY m.LoweredEmail ELSE INSERT INTO #PageIndexForUsers (UserId) SELECT u.UserId FROM dbo.aspnet_Users u, dbo.aspnet_Membership m WHERE u.ApplicationId = @ApplicationId AND m.UserId = u.UserId AND m.LoweredEmail LIKE LOWER(@EmailToMatch) ORDER BY m.LoweredEmail SELECT u.UserName, m.Email, m.PasswordQuestion, m.Comment, m.IsApproved, m.CreateDate, m.LastLoginDate, u.LastActivityDate, m.LastPasswordChangedDate, u.UserId, m.IsLockedOut, m.LastLockoutDate FROM dbo.aspnet_Membership m, dbo.aspnet_Users u, #PageIndexForUsers p WHERE u.UserId = p.UserId AND u.UserId = m.UserId AND p.IndexId &amp;gt;= @PageLowerBound AND p.IndexId &amp;lt;= @PageUpperBound ORDER BY m.LoweredEmail SELECT @TotalRecords = COUNT(*) FROM #PageIndexForUsers RETURN @TotalRecords END GO /*************************************************************/ /*************************************************************/ IF (NOT EXISTS (SELECT name FROM sysobjects WHERE (name = N'vw_aspnet_MembershipUsers') AND (type = 'V'))) BEGIN PRINT 'Creating the vw_aspnet_MembershipUsers view...' EXEC(' CREATE VIEW [dbo].[vw_aspnet_MembershipUsers] AS SELECT [dbo].[aspnet_Membership].[UserId], [dbo].[aspnet_Membership].[PasswordFormat], [dbo].[aspnet_Membership].[MobilePIN], [dbo].[aspnet_Membership].[Email], [dbo].[aspnet_Membership].[LoweredEmail], [dbo].[aspnet_Membership].[PasswordQuestion], [dbo].[aspnet_Membership].[PasswordAnswer], [dbo].[aspnet_Membership].[IsApproved], [dbo].[aspnet_Membership].[IsLockedOut], [dbo].[aspnet_Membership].[CreateDate], [dbo].[aspnet_Membership].[LastLoginDate], [dbo].[aspnet_Membership].[LastPasswordChangedDate], [dbo].[aspnet_Membership].[LastLockoutDate], [dbo].[aspnet_Membership].[FailedPasswordAttemptCount], [dbo].[aspnet_Membership].[FailedPasswordAttemptWindowStart], [dbo].[aspnet_Membership].[FailedPasswordAnswerAttemptCount], [dbo].[aspnet_Membership].[FailedPasswordAnswerAttemptWindowStart], [dbo].[aspnet_Membership].[Comment], [dbo].[aspnet_Users].[ApplicationId], [dbo].[aspnet_Users].[UserName], [dbo].[aspnet_Users].[MobileAlias], [dbo].[aspnet_Users].[IsAnonymous], [dbo].[aspnet_Users].[LastActivityDate] FROM [dbo].[aspnet_Membership] INNER JOIN [dbo].[aspnet_Users] ON [dbo].[aspnet_Membership].[UserId] = [dbo].[aspnet_Users].[UserId] ') END GO /*************************************************************/ /*************************************************************/ -- --Create Membership schema version -- DECLARE @command nvarchar(4000) SET @command = 'GRANT EXECUTE ON [dbo].aspnet_RegisterSchemaVersion TO ' + QUOTENAME(user) EXECUTE (@command) GO EXEC [dbo].aspnet_RegisterSchemaVersion N'Membership', N'1', 1, 1 GO /*************************************************************/ /*************************************************************/ -- --Create Membership roles -- IF ( NOT EXISTS ( SELECT name FROM sysusers WHERE issqlrole = 1 AND name = N'aspnet_Membership_FullAccess' ) ) EXEC sp_addrole N'aspnet_Membership_FullAccess' IF ( NOT EXISTS ( SELECT name FROM sysusers WHERE issqlrole = 1 AND name = N'aspnet_Membership_BasicAccess' ) ) EXEC sp_addrole N'aspnet_Membership_BasicAccess' IF ( NOT EXISTS ( SELECT name FROM sysusers WHERE issqlrole = 1 AND name = N'aspnet_Membership_ReportingAccess' ) ) EXEC sp_addrole N'aspnet_Membership_ReportingAccess' GO EXEC sp_addrolemember N'aspnet_Membership_BasicAccess', N'aspnet_Membership_FullAccess' EXEC sp_addrolemember N'aspnet_Membership_ReportingAccess', N'aspnet_Membership_FullAccess' GO -- --Stored Procedure rights for BasicAcess -- GRANT EXECUTE ON dbo.aspnet_Membership_GetUserByUserId TO aspnet_Membership_BasicAccess GRANT EXECUTE ON dbo.aspnet_Membership_GetUserByName TO aspnet_Membership_BasicAccess GRANT EXECUTE ON dbo.aspnet_Membership_GetUserByEmail TO aspnet_Membership_BasicAccess GRANT EXECUTE ON dbo.aspnet_Membership_GetPassword TO aspnet_Membership_BasicAccess GRANT EXECUTE ON dbo.aspnet_Membership_GetPasswordWithFormat TO aspnet_Membership_BasicAccess GRANT EXECUTE ON dbo.aspnet_Membership_UpdateUserInfo TO aspnet_Membership_BasicAccess GRANT EXECUTE ON dbo.aspnet_Membership_GetNumberOfUsersOnline TO aspnet_Membership_BasicAccess GRANT EXECUTE ON dbo.aspnet_CheckSchemaVersion TO aspnet_Membership_BasicAccess GRANT EXECUTE ON dbo.aspnet_RegisterSchemaVersion TO aspnet_Membership_BasicAccess GRANT EXECUTE ON dbo.aspnet_UnRegisterSchemaVersion TO aspnet_Membership_BasicAccess -- --Stored Procedure rights for ReportingAccess -- GRANT EXECUTE ON dbo.aspnet_Membership_GetUserByUserId TO aspnet_Membership_ReportingAccess GRANT EXECUTE ON dbo.aspnet_Membership_GetUserByName TO aspnet_Membership_ReportingAccess GRANT EXECUTE ON dbo.aspnet_Membership_GetUserByEmail TO aspnet_Membership_ReportingAccess GRANT EXECUTE ON dbo.aspnet_Membership_GetAllUsers TO aspnet_Membership_ReportingAccess GRANT EXECUTE ON dbo.aspnet_Membership_GetNumberOfUsersOnline TO aspnet_Membership_ReportingAccess GRANT EXECUTE ON dbo.aspnet_Membership_FindUsersByName TO aspnet_Membership_ReportingAccess GRANT EXECUTE ON dbo.aspnet_Membership_FindUsersByEmail TO aspnet_Membership_ReportingAccess GRANT EXECUTE ON dbo.aspnet_CheckSchemaVersion TO aspnet_Membership_ReportingAccess GRANT EXECUTE ON dbo.aspnet_RegisterSchemaVersion TO aspnet_Membership_ReportingAccess GRANT EXECUTE ON dbo.aspnet_UnRegisterSchemaVersion TO aspnet_Membership_ReportingAccess -- --Additional stored procedure rights for FullAccess -- GRANT EXECUTE ON dbo.aspnet_Users_DeleteUser TO aspnet_Membership_FullAccess GRANT EXECUTE ON dbo.aspnet_Membership_CreateUser TO aspnet_Membership_FullAccess GRANT EXECUTE ON dbo.aspnet_Membership_SetPassword TO aspnet_Membership_FullAccess GRANT EXECUTE ON dbo.aspnet_Membership_ResetPassword TO aspnet_Membership_FullAccess GRANT EXECUTE ON dbo.aspnet_Membership_UpdateUser TO aspnet_Membership_FullAccess GRANT EXECUTE ON dbo.aspnet_Membership_ChangePasswordQuestionAndAnswer TO aspnet_Membership_FullAccess GRANT EXECUTE ON dbo.aspnet_Membership_UnlockUser TO aspnet_Membership_FullAccess -- --View rights -- GRANT SELECT ON dbo.vw_aspnet_Applications TO aspnet_Membership_ReportingAccess GRANT SELECT ON dbo.vw_aspnet_Users TO aspnet_Membership_ReportingAccess GRANT SELECT ON dbo.vw_aspnet_MembershipUsers TO aspnet_Membership_ReportingAccess /*************************************************************/ /*************************************************************/ /*************************************************************/ /*************************************************************/ DECLARE @command nvarchar(4000) SET @command = 'REVOKE EXECUTE ON [dbo].aspnet_RegisterSchemaVersion FROM ' + QUOTENAME(user) EXECUTE (@command) GO PRINT '--------------------------------------------' PRINT 'Completed execution of InstallMembership.SQL' PRINT '--------------------------------------------' &lt;/p&gt;  &lt;p&gt;You can also find this script: C:\Windows\Microsoft.NET\Framework\v2.0.50727 as InstallMembership.SQL&lt;/p&gt;  &lt;p&gt;Thank you &lt;a title="How To: Use Membership in ASP.NET 2.0" href="http://msdn.microsoft.com/en-us/library/ms998347.aspx#paght000022_usingthesqlmembershipprovider"&gt;Microsoft&lt;/a&gt;&lt;/p&gt;  &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:51d6ffb5-b724-4881-9665-fa3f568bcc24" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Flickr Tags: &lt;a href="http://flickr.com/photos/tags/Membership+ASP.NET" rel="tag"&gt;Membership ASP.NET&lt;/a&gt;, &lt;a href="http://flickr.com/photos/tags/Membership" rel="tag"&gt;Membership&lt;/a&gt;, &lt;a href="http://flickr.com/photos/tags/ASP.NET" rel="tag"&gt;ASP.NET&lt;/a&gt;, &lt;a href="http://flickr.com/photos/tags/SQL" rel="tag"&gt;SQL&lt;/a&gt;, &lt;a href="http://flickr.com/photos/tags/MSSQL" rel="tag"&gt;MSSQL&lt;/a&gt;, &lt;a href="http://flickr.com/photos/tags/SQL2005" rel="tag"&gt;SQL2005&lt;/a&gt;&lt;/div&gt;  &lt;p&gt;&lt;/p&gt;  &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:817addbe-e633-4a5a-8e5c-b2ba9d4c8ce5" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;BuzzNet Tags: &lt;a href="http://www.buzznet.com/tags/Membership+ASP.NET/" rel="tag"&gt;Membership ASP.NET&lt;/a&gt;, &lt;a href="http://www.buzznet.com/tags/Membership/" rel="tag"&gt;Membership&lt;/a&gt;, &lt;a href="http://www.buzznet.com/tags/ASP.NET/" rel="tag"&gt;ASP.NET&lt;/a&gt;, &lt;a href="http://www.buzznet.com/tags/SQL/" rel="tag"&gt;SQL&lt;/a&gt;, &lt;a href="http://www.buzznet.com/tags/MSSQL/" rel="tag"&gt;MSSQL&lt;/a&gt;, &lt;a href="http://www.buzznet.com/tags/SQL2005/" rel="tag"&gt;SQL2005&lt;/a&gt;&lt;/div&gt;  &lt;p&gt;&lt;/p&gt;  &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:bfd10dcc-d328-46b5-a6af-5f90b0e19509" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/Membership+ASP.NET" rel="tag"&gt;Membership ASP.NET&lt;/a&gt;, &lt;a href="http://technorati.com/tags/Membership" rel="tag"&gt;Membership&lt;/a&gt;, &lt;a href="http://technorati.com/tags/ASP.NET" rel="tag"&gt;ASP.NET&lt;/a&gt;, &lt;a href="http://technorati.com/tags/SQL" rel="tag"&gt;SQL&lt;/a&gt;, &lt;a href="http://technorati.com/tags/MSSQL" rel="tag"&gt;MSSQL&lt;/a&gt;, &lt;a href="http://technorati.com/tags/SQL2005" rel="tag"&gt;SQL2005&lt;/a&gt;&lt;/div&gt;  &lt;p&gt;&lt;/p&gt;  &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:4a05710a-a1eb-43fb-9e2d-8dd73cee847c" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;del.icio.us Tags: &lt;a href="http://del.icio.us/popular/Membership+ASP.NET" rel="tag"&gt;Membership ASP.NET&lt;/a&gt;, &lt;a href="http://del.icio.us/popular/Membership" rel="tag"&gt;Membership&lt;/a&gt;, &lt;a href="http://del.icio.us/popular/ASP.NET" rel="tag"&gt;ASP.NET&lt;/a&gt;, &lt;a href="http://del.icio.us/popular/SQL" rel="tag"&gt;SQL&lt;/a&gt;, &lt;a href="http://del.icio.us/popular/MSSQL" rel="tag"&gt;MSSQL&lt;/a&gt;, &lt;a href="http://del.icio.us/popular/SQL2005" rel="tag"&gt;SQL2005&lt;/a&gt;&lt;/div&gt;  &lt;p&gt;&lt;/p&gt;  &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:3a3fcc47-3da3-4999-bb2b-3134ba5c5e46" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;IceRocket Tags: &lt;a href="http://blogs.icerocket.com/search?q=Membership+ASP.NET" rel="tag"&gt;Membership ASP.NET&lt;/a&gt;, &lt;a href="http://blogs.icerocket.com/search?q=Membership" rel="tag"&gt;Membership&lt;/a&gt;, &lt;a href="http://blogs.icerocket.com/search?q=ASP.NET" rel="tag"&gt;ASP.NET&lt;/a&gt;, &lt;a href="http://blogs.icerocket.com/search?q=SQL" rel="tag"&gt;SQL&lt;/a&gt;, &lt;a href="http://blogs.icerocket.com/search?q=MSSQL" rel="tag"&gt;MSSQL&lt;/a&gt;, &lt;a href="http://blogs.icerocket.com/search?q=SQL2005" rel="tag"&gt;SQL2005&lt;/a&gt;&lt;/div&gt;  &lt;p&gt;&lt;/p&gt;  &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:016691ee-dca9-4c4a-8136-f33fd2d4a004" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;LiveJournal Tags: &lt;a href="http://www.livejournal.com/interests.bml?int=Membership+ASP.NET" rel="tag"&gt;Membership ASP.NET&lt;/a&gt;, &lt;a href="http://www.livejournal.com/interests.bml?int=Membership" rel="tag"&gt;Membership&lt;/a&gt;, &lt;a href="http://www.livejournal.com/interests.bml?int=ASP.NET" rel="tag"&gt;ASP.NET&lt;/a&gt;, &lt;a href="http://www.livejournal.com/interests.bml?int=SQL" rel="tag"&gt;SQL&lt;/a&gt;, &lt;a href="http://www.livejournal.com/interests.bml?int=MSSQL" rel="tag"&gt;MSSQL&lt;/a&gt;, &lt;a href="http://www.livejournal.com/interests.bml?int=SQL2005" rel="tag"&gt;SQL2005&lt;/a&gt;&lt;/div&gt;  &lt;p&gt;&lt;/p&gt;  &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:968412dd-3507-4e73-b692-100d928e0ea0" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;43 Things Tags: &lt;a href="http://www.43things.com/tag/Membership+ASP.NET" rel="tag"&gt;Membership ASP.NET&lt;/a&gt;, &lt;a href="http://www.43things.com/tag/Membership" rel="tag"&gt;Membership&lt;/a&gt;, &lt;a href="http://www.43things.com/tag/ASP.NET" rel="tag"&gt;ASP.NET&lt;/a&gt;, &lt;a href="http://www.43things.com/tag/SQL" rel="tag"&gt;SQL&lt;/a&gt;, &lt;a href="http://www.43things.com/tag/MSSQL" rel="tag"&gt;MSSQL&lt;/a&gt;, &lt;a href="http://www.43things.com/tag/SQL2005" rel="tag"&gt;SQL2005&lt;/a&gt;&lt;/div&gt;&lt;div class="wlWriterHeaderFooter" style="text-align:right; margin:0px; padding:4px 0px 4px 0px;"&gt;&lt;a href="http://digg.com/submit?url=http%3a%2f%2fweblogs.asp.net%2fmikedopp%2farchive%2f2008%2f06%2f27%2fsql-script-to-build-asp-net-membership-tables.aspx&amp;amp;title=SQL+Script+to+build+ASP.NET+Membership+Tables"&gt;&lt;img src="http://digg.com/img/badges/16x16-digg-guy.png" width="16" height="16" alt="Digg This" title="Digg This" border="0" style="border: 0" /&gt;&lt;/a&gt;&lt;/div&gt;</description><pubDate>Fri, 27 Jun 2008 07:27:00 GMT</pubDate><guid isPermaLink="true">https://weblogs.asp.net:443/mikedopp/sql-script-to-build-asp-net-membership-tables</guid><category>ASP.NET 2.0</category><category>HowTo</category><category>MSSQL</category></item><item><title>How to Check Certificate expirations on IIS with custom script.</title><link>https://weblogs.asp.net:443/mikedopp/how-to-check-certificate-expirations-on-iis-with-custom-script</link><description>
&lt;p&gt;Recently I ran into a SSL cert issue. I run a small e-commerce site and was doing some testing on it. Got to the buy now feature (when the site switches from non- SSL to SSL or http to https) I received a your SSL cert has expired. What? No I remember I purchased it forever ago but it shouldn’t be up now why did I have no warning?&lt;/p&gt; &lt;div style="float: right;"&gt;&lt;script type="text/javascript"&gt;
&lt;!--
google_ad_client = "pub-3411399896801451";
/* 120x240, created 8/8/08 */
google_ad_slot = "1822954794";
google_ad_width = 120;
google_ad_height = 240;
//--&gt;&lt;/script&gt;&lt;script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript"&gt;&lt;/script&gt;&lt;/div&gt;

 
&lt;p&gt;Well with the help and guidance of the crew @ &lt;a href="http://www.awesomeideas.net/post/2007/09/13/How-to-Check-certificate-expiry-for-webserver-%28IIS%29-certificates-using-script.aspx" mce_href="http://www.awesomeideas.net/post/2007/09/13/How-to-Check-certificate-expiry-for-webserver-(IIS)-certificates-using-script.aspx" target="_blank"&gt;AwesomeIdeas&lt;/a&gt; I found a way to look up my SSL Certificate life.&lt;/p&gt;
 
&lt;p&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-3411399896801451";
/* 468x60, created 9/30/08 */
google_ad_slot = "3140983205";
google_ad_width = 468;
google_ad_height = 60;
//--&gt;
&lt;/script&gt;
&lt;script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript"&gt;
&lt;/script&gt; &lt;/p&gt;
 
&lt;p&gt;copy &amp;amp; paste script below into a file called "CertExpirationCheck.vbs" and run the script from command line&lt;/p&gt;
 
&lt;p&gt;When in the command prompt use the following parameter:&lt;/p&gt;
 
&lt;p&gt;&lt;b&gt;C:\&amp;gt; cscript certexpirationcheck.vbs [SubjectName]&lt;/b&gt;&lt;/p&gt;
 
&lt;p&gt;C:\&amp;gt; cscript certexpirationcheck.vbs mikedopp.com&lt;/p&gt;
 
&lt;p&gt;&lt;a href="https://aspblogs.blob.core.windows.net/media/mikedopp/WindowsLiveWriter/HowtoCheckCertificateexpirationsonIISwi_ADCD/CertExpirationCheckScript.png" mce_href="https://aspblogs.blob.core.windows.net/media/mikedopp/WindowsLiveWriter/HowtoCheckCertificateexpirationsonIISwi_ADCD/CertExpirationCheckScript.png"&gt;&lt;img src="https://aspblogs.blob.core.windows.net/media/mikedopp/WindowsLiveWriter/HowtoCheckCertificateexpirationsonIISwi_ADCD/CertExpirationCheckScript_thumb.png" title="CertExpirationCheckScript" style="border-width: 0px;" alt="CertExpirationCheckScript" mce_src="https://aspblogs.blob.core.windows.net/media/mikedopp/WindowsLiveWriter/HowtoCheckCertificateexpirationsonIISwi_ADCD/CertExpirationCheckScript_thumb.png" border="0" height="81" width="516"&gt;&lt;/a&gt; &lt;/p&gt;
&lt;pre&gt;'**************************************************&lt;br&gt;'* CertExpirationCheck.vbs&lt;br&gt;'* Enumerate certificates with day left for expiry &lt;br&gt;'**************************************************&lt;br&gt;&lt;br&gt;Option Explicit&lt;br&gt;Dim SubjectName&lt;br&gt;If WScript.Arguments.Count &amp;gt; 0 Then&lt;br&gt;    SubjectName = LCase(WScript.Arguments(0))&lt;br&gt;Else&lt;br&gt;    CommandUsage&lt;br&gt;End If&lt;br&gt;&lt;br&gt;Dim Store, Certificates, Certificate&lt;br&gt;Const CAPICOM_LOCAL_MACHINE_STORE = 1&lt;br&gt;Const CAPICOM_CERTIFICATE_FIND_SUBJECT_NAME = 1        &lt;br&gt;Const CAPICOM_STORE_OPEN_READ_ONLY = 0&lt;br&gt;&lt;br&gt;Set Store = CreateObject("CAPICOM.Store")&lt;br&gt;Store.Open CAPICOM_LOCAL_MACHINE_STORE, "MY" ,CAPICOM_STORE_OPEN_READ_ONLY&lt;br&gt;Set Certificates = Store.Certificates.Find(CAPICOM_CERTIFICATE_FIND_SUBJECT_NAME, SubjectName, 0)&lt;br&gt;&lt;br&gt;If Certificates.Count &amp;gt;0 Then&lt;br&gt;   For Each Certificate in Certificates&lt;br&gt;    'Certificate.display()    'If you want to see the Cert in UI&lt;br&gt;    WScript.Echo "*** Subject " &amp;amp; Certificate.SubjectName &amp;amp; " ***"&lt;br&gt;    WScript.Echo "Issued by " &amp;amp; Certificate.IssuerName &lt;br&gt;    WScript.Echo "Valid from " &amp;amp; Certificate.ValidFromDate &amp;amp; " to " &amp;amp; Certificate.ValidToDate &lt;br&gt;    WScript.Echo "Days to expiry " &amp;amp; DateDiff("d",now(),Certificate.ValidToDate)&lt;br&gt;    WScript.Echo &lt;br&gt;   Next&lt;br&gt; Else&lt;br&gt;  WScript.Echo "No certificates with SubjectName =&amp;gt; '" &amp;amp; SubjectName &amp;amp; "'"&lt;br&gt;End If&lt;br&gt;&lt;br&gt;Set Certificates = Nothing&lt;br&gt;Set Store = Nothing&lt;br&gt;&lt;br&gt;Sub CommandUsage&lt;br&gt;  MsgBox "Usage: CertExpirationCheck.vbs  [SubjectName] ", vbInformation,"CertExpirationCheck"&lt;br&gt;  WScript.Quit(1)&lt;br&gt;End Sub&lt;/pre&gt;
&lt;pre&gt;&amp;nbsp;&lt;/pre&gt;
&lt;pre&gt;&amp;nbsp;&lt;/pre&gt;
&lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:af9a0ab2-bbd6-4ff4-a650-dbb232f0dade" style="margin: 0px; padding: 0px; display: inline; float: none;"&gt;Flickr Tags: &lt;a href="http://flickr.com/photos/tags/SSL" mce_href="http://flickr.com/photos/tags/SSL" rel="tag"&gt;SSL&lt;/a&gt;, &lt;a href="http://flickr.com/photos/tags/Certificates" mce_href="http://flickr.com/photos/tags/Certificates" rel="tag"&gt;Certificates&lt;/a&gt;, &lt;a href="http://flickr.com/photos/tags/SSL+Certificates" mce_href="http://flickr.com/photos/tags/SSL+Certificates" rel="tag"&gt;SSL Certificates&lt;/a&gt;, &lt;a href="http://flickr.com/photos/tags/Thrill+of+a+SSL+Cert" mce_href="http://flickr.com/photos/tags/Thrill+of+a+SSL+Cert" rel="tag"&gt;Thrill of a SSL Cert&lt;/a&gt;, &lt;a href="http://flickr.com/photos/tags/Expiration+of+SSL+Cert" mce_href="http://flickr.com/photos/tags/Expiration+of+SSL+Cert" rel="tag"&gt;Expiration of SSL Cert&lt;/a&gt;, &lt;a href="http://flickr.com/photos/tags/The+Pain+and+Torture+of+a+non+secure+site" mce_href="http://flickr.com/photos/tags/The+Pain+and+Torture+of+a+non+secure+site" rel="tag"&gt;The Pain and Torture of a non secure site&lt;/a&gt;&lt;/div&gt;
&lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:33cf95b4-b186-41cf-8cfe-0eaad67ed2a5" style="margin: 0px; padding: 0px; display: inline; float: none;"&gt;BuzzNet Tags: &lt;a href="http://www.buzznet.com/tags/SSL/" mce_href="http://www.buzznet.com/tags/SSL/" rel="tag"&gt;SSL&lt;/a&gt;, &lt;a href="http://www.buzznet.com/tags/Certificates/" mce_href="http://www.buzznet.com/tags/Certificates/" rel="tag"&gt;Certificates&lt;/a&gt;, &lt;a href="http://www.buzznet.com/tags/SSL+Certificates/" mce_href="http://www.buzznet.com/tags/SSL+Certificates/" rel="tag"&gt;SSL Certificates&lt;/a&gt;, &lt;a href="http://www.buzznet.com/tags/Thrill+of+a+SSL+Cert/" mce_href="http://www.buzznet.com/tags/Thrill+of+a+SSL+Cert/" rel="tag"&gt;Thrill of a SSL Cert&lt;/a&gt;, &lt;a href="http://www.buzznet.com/tags/Expiration+of+SSL+Cert/" mce_href="http://www.buzznet.com/tags/Expiration+of+SSL+Cert/" rel="tag"&gt;Expiration of SSL Cert&lt;/a&gt;, &lt;a href="http://www.buzznet.com/tags/The+Pain+and+Torture+of+a+non+secure+site/" mce_href="http://www.buzznet.com/tags/The+Pain+and+Torture+of+a+non+secure+site/" rel="tag"&gt;The Pain and Torture of a non secure site&lt;/a&gt;&lt;/div&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:05b316dc-a214-464a-9a3c-18100925f32f" style="margin: 0px; padding: 0px; display: inline; float: none;"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/SSL" mce_href="http://technorati.com/tags/SSL" rel="tag"&gt;SSL&lt;/a&gt;, &lt;a href="http://technorati.com/tags/Certificates" mce_href="http://technorati.com/tags/Certificates" rel="tag"&gt;Certificates&lt;/a&gt;, &lt;a href="http://technorati.com/tags/SSL+Certificates" mce_href="http://technorati.com/tags/SSL+Certificates" rel="tag"&gt;SSL Certificates&lt;/a&gt;, &lt;a href="http://technorati.com/tags/Thrill+of+a+SSL+Cert" mce_href="http://technorati.com/tags/Thrill+of+a+SSL+Cert" rel="tag"&gt;Thrill of a SSL Cert&lt;/a&gt;, &lt;a href="http://technorati.com/tags/Expiration+of+SSL+Cert" mce_href="http://technorati.com/tags/Expiration+of+SSL+Cert" rel="tag"&gt;Expiration of SSL Cert&lt;/a&gt;, &lt;a href="http://technorati.com/tags/The+Pain+and+Torture+of+a+non+secure+site" mce_href="http://technorati.com/tags/The+Pain+and+Torture+of+a+non+secure+site" rel="tag"&gt;The Pain and Torture of a non secure site&lt;/a&gt;&lt;/div&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:bac8e916-8d08-43f6-b1ee-3e738e60a322" style="margin: 0px; padding: 0px; display: inline; float: none;"&gt;del.icio.us Tags: &lt;a href="http://del.icio.us/popular/SSL" mce_href="http://del.icio.us/popular/SSL" rel="tag"&gt;SSL&lt;/a&gt;, &lt;a href="http://del.icio.us/popular/Certificates" mce_href="http://del.icio.us/popular/Certificates" rel="tag"&gt;Certificates&lt;/a&gt;, &lt;a href="http://del.icio.us/popular/SSL+Certificates" mce_href="http://del.icio.us/popular/SSL+Certificates" rel="tag"&gt;SSL Certificates&lt;/a&gt;, &lt;a href="http://del.icio.us/popular/Thrill+of+a+SSL+Cert" mce_href="http://del.icio.us/popular/Thrill+of+a+SSL+Cert" rel="tag"&gt;Thrill of a SSL Cert&lt;/a&gt;, &lt;a href="http://del.icio.us/popular/Expiration+of+SSL+Cert" mce_href="http://del.icio.us/popular/Expiration+of+SSL+Cert" rel="tag"&gt;Expiration of SSL Cert&lt;/a&gt;, &lt;a href="http://del.icio.us/popular/The+Pain+and+Torture+of+a+non+secure+site" mce_href="http://del.icio.us/popular/The+Pain+and+Torture+of+a+non+secure+site" rel="tag"&gt;The Pain and Torture of a non secure site&lt;/a&gt;&lt;/div&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:db1416fd-d7bd-40bc-b5fe-e358828918e8" style="margin: 0px; padding: 0px; display: inline; float: none;"&gt;IceRocket Tags: &lt;a href="http://blogs.icerocket.com/search?q=SSL" mce_href="http://blogs.icerocket.com/search?q=SSL" rel="tag"&gt;SSL&lt;/a&gt;, &lt;a href="http://blogs.icerocket.com/search?q=Certificates" mce_href="http://blogs.icerocket.com/search?q=Certificates" rel="tag"&gt;Certificates&lt;/a&gt;, &lt;a href="http://blogs.icerocket.com/search?q=SSL+Certificates" mce_href="http://blogs.icerocket.com/search?q=SSL+Certificates" rel="tag"&gt;SSL Certificates&lt;/a&gt;, &lt;a href="http://blogs.icerocket.com/search?q=Thrill+of+a+SSL+Cert" mce_href="http://blogs.icerocket.com/search?q=Thrill+of+a+SSL+Cert" rel="tag"&gt;Thrill of a SSL Cert&lt;/a&gt;, &lt;a href="http://blogs.icerocket.com/search?q=Expiration+of+SSL+Cert" mce_href="http://blogs.icerocket.com/search?q=Expiration+of+SSL+Cert" rel="tag"&gt;Expiration of SSL Cert&lt;/a&gt;, &lt;a href="http://blogs.icerocket.com/search?q=The+Pain+and+Torture+of+a+non+secure+site" mce_href="http://blogs.icerocket.com/search?q=The+Pain+and+Torture+of+a+non+secure+site" rel="tag"&gt;The Pain and Torture of a non secure site&lt;/a&gt;&lt;/div&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:f58307c5-063b-4469-be53-47639adadaa3" style="margin: 0px; padding: 0px; display: inline; float: none;"&gt;LiveJournal Tags: &lt;a href="http://www.livejournal.com/interests.bml?int=SSL" mce_href="http://www.livejournal.com/interests.bml?int=SSL" rel="tag"&gt;SSL&lt;/a&gt;, &lt;a href="http://www.livejournal.com/interests.bml?int=Certificates" mce_href="http://www.livejournal.com/interests.bml?int=Certificates" rel="tag"&gt;Certificates&lt;/a&gt;, &lt;a href="http://www.livejournal.com/interests.bml?int=SSL+Certificates" mce_href="http://www.livejournal.com/interests.bml?int=SSL+Certificates" rel="tag"&gt;SSL Certificates&lt;/a&gt;, &lt;a href="http://www.livejournal.com/interests.bml?int=Thrill+of+a+SSL+Cert" mce_href="http://www.livejournal.com/interests.bml?int=Thrill+of+a+SSL+Cert" rel="tag"&gt;Thrill of a SSL Cert&lt;/a&gt;, &lt;a href="http://www.livejournal.com/interests.bml?int=Expiration+of+SSL+Cert" mce_href="http://www.livejournal.com/interests.bml?int=Expiration+of+SSL+Cert" rel="tag"&gt;Expiration of SSL Cert&lt;/a&gt;, &lt;a href="http://www.livejournal.com/interests.bml?int=The+Pain+and+Torture+of+a+non+secure+site" mce_href="http://www.livejournal.com/interests.bml?int=The+Pain+and+Torture+of+a+non+secure+site" rel="tag"&gt;The Pain and Torture of a non secure site&lt;/a&gt;&lt;/div&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:be7f2b33-ff50-4a20-b826-31192ef61f03" style="margin: 0px; padding: 0px; display: inline; float: none;"&gt;43 Things Tags: &lt;a href="http://www.43things.com/tag/SSL" mce_href="http://www.43things.com/tag/SSL" rel="tag"&gt;SSL&lt;/a&gt;, &lt;a href="http://www.43things.com/tag/Certificates" mce_href="http://www.43things.com/tag/Certificates" rel="tag"&gt;Certificates&lt;/a&gt;, &lt;a href="http://www.43things.com/tag/SSL+Certificates" mce_href="http://www.43things.com/tag/SSL+Certificates" rel="tag"&gt;SSL Certificates&lt;/a&gt;, &lt;a href="http://www.43things.com/tag/Thrill+of+a+SSL+Cert" mce_href="http://www.43things.com/tag/Thrill+of+a+SSL+Cert" rel="tag"&gt;Thrill of a SSL Cert&lt;/a&gt;, &lt;a href="http://www.43things.com/tag/Expiration+of+SSL+Cert" mce_href="http://www.43things.com/tag/Expiration+of+SSL+Cert" rel="tag"&gt;Expiration of SSL Cert&lt;/a&gt;, &lt;a href="http://www.43things.com/tag/The+Pain+and+Torture+of+a+non+secure+site" mce_href="http://www.43things.com/tag/The+Pain+and+Torture+of+a+non+secure+site" rel="tag"&gt;The Pain and Torture of a non secure site&lt;/a&gt;&lt;/div&gt;</description><pubDate>Wed, 18 Jun 2008 19:20:00 GMT</pubDate><guid isPermaLink="true">https://weblogs.asp.net:443/mikedopp/how-to-check-certificate-expirations-on-iis-with-custom-script</guid><category>Command Prompt</category><category>HowTo</category><category>IIS</category><category>Windows Server</category></item><item><title>Tools I love: NDepend for Visual Studio 2005/2008</title><link>https://weblogs.asp.net:443/mikedopp/tools-i-love-ndepend-for-visual-studio-2005-2008</link><description>&lt;p&gt;&amp;nbsp;&lt;/p&gt;  &lt;p&gt;&lt;a href="https://aspblogs.blob.core.windows.net/media/mikedopp/WindowsLiveWriter/ToolsIloveNDependforVisualStudio20052008_12D58/TitlePic.png" mce_href="https://aspblogs.blob.core.windows.net/media/mikedopp/WindowsLiveWriter/ToolsIloveNDependforVisualStudio20052008_12D58/TitlePic.png"&gt;&lt;img src="https://aspblogs.blob.core.windows.net/media/mikedopp/WindowsLiveWriter/ToolsIloveNDependforVisualStudio20052008_12D58/TitlePic_thumb.png" title="TitlePic" style="border-width: 0px;" alt="TitlePic" mce_src="https://aspblogs.blob.core.windows.net/media/mikedopp/WindowsLiveWriter/ToolsIloveNDependforVisualStudio20052008_12D58/TitlePic_thumb.png" border="0" height="87" width="633"&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;I know what your thinking. Oh crap here he goes again with recommending tools and or services. My question is have I ever steered you wrong?&lt;/p&gt;  &lt;p&gt;Yes I normally deal in freeware tools. Mostly due to me being cheap and thinking my skills should push me past that latest issue with code. So why recommend a commercial tool? Good question. A friend recommended to me this tool. I had used tools like .net reflector to look into DLL’s to understand the application I am adding. I had heard rumor of &lt;a href="http://ndepend.com/" mce_href="http://ndepend.com/" target="_blank"&gt;NDepend&lt;/a&gt; however with all the different “N” products out there I was like another database OR mappers right? Or maybe another subversion type software.&lt;/p&gt;  &lt;p&gt;So I downloaded the tool to see what if anything this tool had to offer. So once I downloaded the software and ran it. I was interested to see what it would do. &lt;/p&gt;  &lt;p&gt;&lt;a href="https://aspblogs.blob.core.windows.net/media/mikedopp/WindowsLiveWriter/ToolsIloveNDependforVisualStudio20052008_12D58/InstallNDependVS.png" mce_href="https://aspblogs.blob.core.windows.net/media/mikedopp/WindowsLiveWriter/ToolsIloveNDependforVisualStudio20052008_12D58/InstallNDependVS.png"&gt;&lt;img src="https://aspblogs.blob.core.windows.net/media/mikedopp/WindowsLiveWriter/ToolsIloveNDependforVisualStudio20052008_12D58/InstallNDependVS_thumb.png" title="InstallNDependVS" style="border-width: 0px;" alt="InstallNDependVS" mce_src="https://aspblogs.blob.core.windows.net/media/mikedopp/WindowsLiveWriter/ToolsIloveNDependforVisualStudio20052008_12D58/InstallNDependVS_thumb.png" align="right" border="0" height="252" width="595"&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&amp;nbsp;&lt;/p&gt;  &lt;p&gt;&amp;nbsp;&lt;/p&gt;  &lt;p&gt;&amp;nbsp;&lt;/p&gt;  &lt;p&gt;&amp;nbsp;&lt;/p&gt;  &lt;p&gt;&amp;nbsp;&lt;/p&gt;  &lt;p&gt;&amp;nbsp;&lt;/p&gt;  &lt;p&gt;&amp;nbsp;&lt;/p&gt;  &lt;p&gt;&amp;nbsp;&lt;/p&gt;  &lt;p&gt;&amp;nbsp;&lt;/p&gt;  &lt;p&gt;&amp;nbsp;&lt;/p&gt;  &lt;p&gt;It installed nicely into Visual Studio 2005 as well as Visual 2008. A plugin for an Addin for Reflector.&lt;/p&gt;  &lt;p&gt;I wanted to see what it would do with one of my most complicated E-commerce applications (&lt;a href="http://www.Buylifetime.com" mce_href="http://www.Buylifetime.com"&gt;http://www.Buylifetime.com&lt;/a&gt;). I was surprised to notice the amount of extra DLL’s I was not in need of to make the application to work. &lt;/p&gt;  &lt;p&gt;Simply put this application should be included with all Visual Studio Installs. It is that important. If Performance as well as clean code is important to you or your business you should have this to view all your important applications.&lt;/p&gt;  &lt;p&gt;I would like to go over all the great features as well as the benefits however they are too much and too many to list.Purchase your copy today and see how much more rapid your development becomes.&lt;/p&gt;  &lt;p&gt;&amp;nbsp;
NDepend&amp;nbsp; &lt;font size="2"&gt;includes a list of CQL rules and queries in
VisualStudio that will update it in real-time each time the developer
compiles. This way, the developer know as soon as he is doing a
mistake. Also, the possibilituy to query the codebase real-time can be
useful in Visual Studio.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&amp;nbsp;&lt;/p&gt;  &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:a9aab54d-bbd0-466a-9a39-c8dff0f40d47" style="margin: 0px; padding: 0px; display: inline; float: none;"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/NDepend" mce_href="http://technorati.com/tags/NDepend" rel="tag"&gt;NDepend&lt;/a&gt;,&lt;a href="http://technorati.com/tags/RAD+Tools" mce_href="http://technorati.com/tags/RAD+Tools" rel="tag"&gt;RAD Tools&lt;/a&gt;,&lt;a href="http://technorati.com/tags/NDepend+Tools" mce_href="http://technorati.com/tags/NDepend+Tools" rel="tag"&gt;NDepend Tools&lt;/a&gt;,&lt;a href="http://technorati.com/tags/.NET+Reflector" mce_href="http://technorati.com/tags/.NET+Reflector" rel="tag"&gt;.NET Reflector&lt;/a&gt;,&lt;a href="http://technorati.com/tags/.NET+RAD+Tools" mce_href="http://technorati.com/tags/.NET+RAD+Tools" rel="tag"&gt;.NET RAD Tools&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Rapid+Applications+Tools." mce_href="http://technorati.com/tags/Rapid+Applications+Tools." rel="tag"&gt;Rapid Applications Tools.&lt;/a&gt;&lt;/div&gt;  &lt;p&gt;&amp;nbsp;&lt;/p&gt;  &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:88039a2a-b8aa-4f63-9b9e-844a775735c0" style="margin: 0px; padding: 0px; display: inline; float: none;"&gt;LiveJournal Tags: &lt;a href="http://www.livejournal.com/interests.bml?int=NDepend" mce_href="http://www.livejournal.com/interests.bml?int=NDepend" rel="tag"&gt;NDepend&lt;/a&gt;,&lt;a href="http://www.livejournal.com/interests.bml?int=RAD+Tools" mce_href="http://www.livejournal.com/interests.bml?int=RAD+Tools" rel="tag"&gt;RAD Tools&lt;/a&gt;,&lt;a href="http://www.livejournal.com/interests.bml?int=NDepend+Tools" mce_href="http://www.livejournal.com/interests.bml?int=NDepend+Tools" rel="tag"&gt;NDepend Tools&lt;/a&gt;,&lt;a href="http://www.livejournal.com/interests.bml?int=.NET+Reflector" mce_href="http://www.livejournal.com/interests.bml?int=.NET+Reflector" rel="tag"&gt;.NET Reflector&lt;/a&gt;,&lt;a href="http://www.livejournal.com/interests.bml?int=.NET+RAD+Tools" mce_href="http://www.livejournal.com/interests.bml?int=.NET+RAD+Tools" rel="tag"&gt;.NET RAD Tools&lt;/a&gt;,&lt;a href="http://www.livejournal.com/interests.bml?int=Rapid+Applications+Tools." mce_href="http://www.livejournal.com/interests.bml?int=Rapid+Applications+Tools." rel="tag"&gt;Rapid Applications Tools.&lt;/a&gt;&lt;/div&gt;  &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:96b1abab-100a-4a57-abc4-bee81609066f" style="margin: 0px; padding: 0px; display: inline; float: none;"&gt;Flickr Tags: &lt;a href="http://flickr.com/photos/tags/NDepend" mce_href="http://flickr.com/photos/tags/NDepend" rel="tag"&gt;NDepend&lt;/a&gt;,&lt;a href="http://flickr.com/photos/tags/RAD+Tools" mce_href="http://flickr.com/photos/tags/RAD+Tools" rel="tag"&gt;RAD Tools&lt;/a&gt;,&lt;a href="http://flickr.com/photos/tags/NDepend+Tools" mce_href="http://flickr.com/photos/tags/NDepend+Tools" rel="tag"&gt;NDepend Tools&lt;/a&gt;,&lt;a href="http://flickr.com/photos/tags/.NET+Reflector" mce_href="http://flickr.com/photos/tags/.NET+Reflector" rel="tag"&gt;.NET Reflector&lt;/a&gt;,&lt;a href="http://flickr.com/photos/tags/.NET+RAD+Tools" mce_href="http://flickr.com/photos/tags/.NET+RAD+Tools" rel="tag"&gt;.NET RAD Tools&lt;/a&gt;,&lt;a href="http://flickr.com/photos/tags/Rapid+Applications+Tools." mce_href="http://flickr.com/photos/tags/Rapid+Applications+Tools." rel="tag"&gt;Rapid Applications Tools.&lt;/a&gt;&lt;/div&gt;  &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:adfd3a97-ee42-497f-88f2-c5abe51780fe" style="margin: 0px; padding: 0px; display: inline; float: none;"&gt;del.icio.us Tags: &lt;a href="http://del.icio.us/popular/NDepend" mce_href="http://del.icio.us/popular/NDepend" rel="tag"&gt;NDepend&lt;/a&gt;,&lt;a href="http://del.icio.us/popular/RAD+Tools" mce_href="http://del.icio.us/popular/RAD+Tools" rel="tag"&gt;RAD Tools&lt;/a&gt;,&lt;a href="http://del.icio.us/popular/NDepend+Tools" mce_href="http://del.icio.us/popular/NDepend+Tools" rel="tag"&gt;NDepend Tools&lt;/a&gt;,&lt;a href="http://del.icio.us/popular/.NET+Reflector" mce_href="http://del.icio.us/popular/.NET+Reflector" rel="tag"&gt;.NET Reflector&lt;/a&gt;,&lt;a href="http://del.icio.us/popular/.NET+RAD+Tools" mce_href="http://del.icio.us/popular/.NET+RAD+Tools" rel="tag"&gt;.NET RAD Tools&lt;/a&gt;,&lt;a href="http://del.icio.us/popular/Rapid+Applications+Tools." mce_href="http://del.icio.us/popular/Rapid+Applications+Tools." rel="tag"&gt;Rapid Applications Tools.&lt;/a&gt;&lt;/div&gt;  &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:e6f26f90-3a4d-4922-9f62-247675936fa7" style="margin: 0px; padding: 0px; display: inline; float: none;"&gt;IceRocket Tags: &lt;a href="http://blogs.icerocket.com/search?q=NDepend" mce_href="http://blogs.icerocket.com/search?q=NDepend" rel="tag"&gt;NDepend&lt;/a&gt;,&lt;a href="http://blogs.icerocket.com/search?q=RAD+Tools" mce_href="http://blogs.icerocket.com/search?q=RAD+Tools" rel="tag"&gt;RAD Tools&lt;/a&gt;,&lt;a href="http://blogs.icerocket.com/search?q=NDepend+Tools" mce_href="http://blogs.icerocket.com/search?q=NDepend+Tools" rel="tag"&gt;NDepend Tools&lt;/a&gt;,&lt;a href="http://blogs.icerocket.com/search?q=.NET+Reflector" mce_href="http://blogs.icerocket.com/search?q=.NET+Reflector" rel="tag"&gt;.NET Reflector&lt;/a&gt;,&lt;a href="http://blogs.icerocket.com/search?q=.NET+RAD+Tools" mce_href="http://blogs.icerocket.com/search?q=.NET+RAD+Tools" rel="tag"&gt;.NET RAD Tools&lt;/a&gt;,&lt;a href="http://blogs.icerocket.com/search?q=Rapid+Applications+Tools." mce_href="http://blogs.icerocket.com/search?q=Rapid+Applications+Tools." rel="tag"&gt;Rapid Applications Tools.&lt;/a&gt;&lt;/div&gt;  &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:6f05cd4f-d961-4e7b-82db-3b43451cc937" style="margin: 0px; padding: 0px; display: inline; float: none;"&gt;43 Things Tags: &lt;a href="http://www.43things.com/tag/NDepend" mce_href="http://www.43things.com/tag/NDepend" rel="tag"&gt;NDepend&lt;/a&gt;,&lt;a href="http://www.43things.com/tag/RAD+Tools" mce_href="http://www.43things.com/tag/RAD+Tools" rel="tag"&gt;RAD Tools&lt;/a&gt;,&lt;a href="http://www.43things.com/tag/NDepend+Tools" mce_href="http://www.43things.com/tag/NDepend+Tools" rel="tag"&gt;NDepend Tools&lt;/a&gt;,&lt;a href="http://www.43things.com/tag/.NET+Reflector" mce_href="http://www.43things.com/tag/.NET+Reflector" rel="tag"&gt;.NET Reflector&lt;/a&gt;,&lt;a href="http://www.43things.com/tag/.NET+RAD+Tools" mce_href="http://www.43things.com/tag/.NET+RAD+Tools" rel="tag"&gt;.NET RAD Tools&lt;/a&gt;,&lt;a href="http://www.43things.com/tag/Rapid+Applications+Tools." mce_href="http://www.43things.com/tag/Rapid+Applications+Tools." rel="tag"&gt;Rapid Applications Tools.&lt;/a&gt;&lt;/div&gt;  &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:1f141b86-1969-491b-98e7-77e755197ada" style="margin: 0px; padding: 0px; display: inline; float: none;"&gt;BuzzNet Tags: &lt;a href="http://www.buzznet.com/tags/NDepend" mce_href="http://www.buzznet.com/tags/NDepend" rel="tag"&gt;NDepend&lt;/a&gt;,&lt;a href="http://www.buzznet.com/tags/RAD+Tools" mce_href="http://www.buzznet.com/tags/RAD+Tools" rel="tag"&gt;RAD Tools&lt;/a&gt;,&lt;a href="http://www.buzznet.com/tags/NDepend+Tools" mce_href="http://www.buzznet.com/tags/NDepend+Tools" rel="tag"&gt;NDepend Tools&lt;/a&gt;,&lt;a href="http://www.buzznet.com/tags/.NET+Reflector" mce_href="http://www.buzznet.com/tags/.NET+Reflector" rel="tag"&gt;.NET Reflector&lt;/a&gt;,&lt;a href="http://www.buzznet.com/tags/.NET+RAD+Tools" mce_href="http://www.buzznet.com/tags/.NET+RAD+Tools" rel="tag"&gt;.NET RAD Tools&lt;/a&gt;,&lt;a href="http://www.buzznet.com/tags/Rapid+Applications+Tools." mce_href="http://www.buzznet.com/tags/Rapid+Applications+Tools." rel="tag"&gt;Rapid Applications Tools.&lt;/a&gt;&lt;/div&gt;</description><pubDate>Tue, 10 Jun 2008 04:38:00 GMT</pubDate><guid isPermaLink="true">https://weblogs.asp.net:443/mikedopp/tools-i-love-ndepend-for-visual-studio-2005-2008</guid><category>.NET 3.5</category><category>.NET Tools</category><category>ASP.NET 2.0</category><category>Code Review</category></item><item><title>Remote IISReset How To</title><link>https://weblogs.asp.net:443/mikedopp/remote-iisreset-how-to</link><description>&lt;p&gt;Very Easy little command line to remote into an IIS machine. Using any windows box.&lt;/p&gt;  &lt;p&gt;runas /noprofile /netonly /user:&amp;lt;Username&amp;gt;@&amp;lt;Domain&amp;gt; &amp;quot;iisreset &amp;lt;Machine Name&amp;gt;&amp;quot;&lt;/p&gt;  &lt;p&gt;Domain can be substituted for IP.&lt;/p&gt;  &lt;p&gt;Also another quick tip: Reset IIS gently iisreset /noforce&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Enjoy!&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:efbf9138-4f62-4905-ba8f-f55a7d80658e" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/IIS+Reset" rel="tag"&gt;IIS Reset&lt;/a&gt;, &lt;a href="http://technorati.com/tags/Reset+IIS" rel="tag"&gt;Reset IIS&lt;/a&gt;, &lt;a href="http://technorati.com/tags/Remote+IIS+Reset" rel="tag"&gt;Remote IIS Reset&lt;/a&gt;, &lt;a href="http://technorati.com/tags/IIS+Remote+Reset" rel="tag"&gt;IIS Remote Reset&lt;/a&gt;&lt;/div&gt;  &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:3031cdfe-de50-4d7a-a5c2-35302226bba0" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Flickr Tags: &lt;a href="http://flickr.com/photos/tags/IIS+Reset" rel="tag"&gt;IIS Reset&lt;/a&gt;, &lt;a href="http://flickr.com/photos/tags/Reset+IIS" rel="tag"&gt;Reset IIS&lt;/a&gt;, &lt;a href="http://flickr.com/photos/tags/Remote+IIS+Reset" rel="tag"&gt;Remote IIS Reset&lt;/a&gt;, &lt;a href="http://flickr.com/photos/tags/IIS+Remote+Reset" rel="tag"&gt;IIS Remote Reset&lt;/a&gt;&lt;/div&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:ded8967f-324e-46cb-8f5b-2c19ccfce53c" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;BuzzNet Tags: &lt;a href="http://www.buzznet.com/tags/IIS+Reset/" rel="tag"&gt;IIS Reset&lt;/a&gt;, &lt;a href="http://www.buzznet.com/tags/Reset+IIS/" rel="tag"&gt;Reset IIS&lt;/a&gt;, &lt;a href="http://www.buzznet.com/tags/Remote+IIS+Reset/" rel="tag"&gt;Remote IIS Reset&lt;/a&gt;, &lt;a href="http://www.buzznet.com/tags/IIS+Remote+Reset/" rel="tag"&gt;IIS Remote Reset&lt;/a&gt;&lt;/div&gt;  &lt;p&gt;&lt;/p&gt;  &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:e696d861-4202-4b37-93eb-58f2cdb91dbf" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;del.icio.us Tags: &lt;a href="http://del.icio.us/popular/IIS+Reset" rel="tag"&gt;IIS Reset&lt;/a&gt;, &lt;a href="http://del.icio.us/popular/Reset+IIS" rel="tag"&gt;Reset IIS&lt;/a&gt;, &lt;a href="http://del.icio.us/popular/Remote+IIS+Reset" rel="tag"&gt;Remote IIS Reset&lt;/a&gt;, &lt;a href="http://del.icio.us/popular/IIS+Remote+Reset" rel="tag"&gt;IIS Remote Reset&lt;/a&gt;&lt;/div&gt;  &lt;p&gt;&lt;/p&gt;  &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:42a0238d-8132-473f-919e-ab700c9b9601" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;IceRocket Tags: &lt;a href="http://blogs.icerocket.com/search?q=IIS+Reset" rel="tag"&gt;IIS Reset&lt;/a&gt;, &lt;a href="http://blogs.icerocket.com/search?q=Reset+IIS" rel="tag"&gt;Reset IIS&lt;/a&gt;, &lt;a href="http://blogs.icerocket.com/search?q=Remote+IIS+Reset" rel="tag"&gt;Remote IIS Reset&lt;/a&gt;, &lt;a href="http://blogs.icerocket.com/search?q=IIS+Remote+Reset" rel="tag"&gt;IIS Remote Reset&lt;/a&gt;&lt;/div&gt;  &lt;p&gt;&lt;/p&gt;  &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:a3309304-9775-499f-b064-1b0782baa146" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;LiveJournal Tags: &lt;a href="http://www.livejournal.com/interests.bml?int=IIS+Reset" rel="tag"&gt;IIS Reset&lt;/a&gt;, &lt;a href="http://www.livejournal.com/interests.bml?int=Reset+IIS" rel="tag"&gt;Reset IIS&lt;/a&gt;, &lt;a href="http://www.livejournal.com/interests.bml?int=Remote+IIS+Reset" rel="tag"&gt;Remote IIS Reset&lt;/a&gt;, &lt;a href="http://www.livejournal.com/interests.bml?int=IIS+Remote+Reset" rel="tag"&gt;IIS Remote Reset&lt;/a&gt;&lt;/div&gt;  &lt;p&gt;&lt;/p&gt;  &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:0041285f-f58b-422c-b072-746babb112e0" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;43 Things Tags: &lt;a href="http://www.43things.com/tag/IIS+Reset" rel="tag"&gt;IIS Reset&lt;/a&gt;, &lt;a href="http://www.43things.com/tag/Reset+IIS" rel="tag"&gt;Reset IIS&lt;/a&gt;, &lt;a href="http://www.43things.com/tag/Remote+IIS+Reset" rel="tag"&gt;Remote IIS Reset&lt;/a&gt;, &lt;a href="http://www.43things.com/tag/IIS+Remote+Reset" rel="tag"&gt;IIS Remote Reset&lt;/a&gt;&lt;/div&gt;</description><pubDate>Tue, 03 Jun 2008 07:25:00 GMT</pubDate><guid isPermaLink="true">https://weblogs.asp.net:443/mikedopp/remote-iisreset-how-to</guid><category>HowTo</category><category>IIS</category><category>Windows Server</category></item><item><title>Increasing User Handle and GDI Handle Limits</title><link>https://weblogs.asp.net:443/mikedopp/increasing-user-handle-and-gdi-handle-limits</link><description>&lt;p&gt;Have you ever been working with a good number of applications at once? Are you a naturally born multi tasker? Alright, answer me this - who has had Windows buckle under the weight of all of these applications and display error messages stating that the system is out of memory or out of resources, buttons and menus do not work correctly, or you get an error sound but no message on the screen? I&amp;#8217;ve hit this numerous times, to the point that I&amp;#8217;ve lost work because of it&amp;#8230; &lt;/p&gt;  &lt;p&gt;(By the way, Adobe, can you please implement that little feature that Microsoft Office has had for years known as &amp;#8220;auto save&amp;#8221;? I don&amp;#8217;t know how many times I&amp;#8217;ve managed to completely max out Windows designing a web site and have had Photoshop fall over dead and disappear off my screen, only to find out that when I open Photoshop up again that the entire thing saved jack-all, all of those layers and documents gone poof into the void of darkness&amp;#8230; if Microsoft can do it, why can&amp;#8217;t you?) &lt;/p&gt;  &lt;p&gt;Sometimes this happens even when you have a lot of system memory (RAM) still available. For instance, open up Internet Explorer and hold Ctrl+N to open up as many Internet Explorer windows as you can before menus, icons, and menus start displaying incorrectly, disappear, buttons aren&amp;#8217;t clickable, etc. Close a few out and check your Windows Task Manager in the &amp;#8220;Performance&amp;#8221; tab, I bet you will find that a lot of your Physical Memory is still available. &lt;/p&gt;  &lt;p&gt;This publication applies to: &lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160; * Microsoft Windows 2000 Professional   &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; * Microsoft Windows 2000 Server    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; * Microsoft Windows 2000 Advanced Server    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; * Microsoft Windows XP Home Edition    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; * Microsoft Windows XP Professional    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; * Microsoft Windows XP Professional x64 Edition    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; * Microsoft Windows XP Media Center Edition    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; * Microsoft Windows XP Tablet PC Edition &lt;/p&gt;  &lt;p&gt;DISCLAIMER: &lt;a href="http://www.mikedopp.com" target="_blank"&gt;mikedopp.com&lt;/a&gt; and &lt;a href="http://blog.mikedopp.com" target="_blank"&gt;mikedopp&lt;/a&gt; hold no responsibility or liability whatsoever should something go wrong, or if you incorrectly modify the Windows Registry. Please take extreme caution while following this publication and follow the steps correctly. &lt;/p&gt;  &lt;p&gt;&amp;#8220;Okie-dokie, if I have all of this memory still available, why is Windows saying I&amp;#8217;m out of memory and out of system resources!?&amp;#8221; &lt;/p&gt;  &lt;p&gt;Simple. You have hit the &amp;#8220;user handle&amp;#8221; or &amp;#8220;GDI handle&amp;#8221; limit in Windows. This limit is there for two reasons: &lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160; * Leaky applications or faulty code &amp;amp; malware can&amp;#8217;t easily crash the system by attempting to overflow the system with GDI handles, making everything un-usable until a reboot is performed.   &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; * To prevent a user from opening up more applications than the system can handle. &lt;/p&gt;  &lt;p&gt;If you have 1 gigabyte (or 1024MB) of RAM or higher, the default User Handle and GDI Handle limits can be pretty restrictive when running a large working set of applications that demand the most from your system and tax it heavily. &lt;/p&gt;  &lt;p&gt;&amp;#8220;Do you feel my pain?&amp;#8221; &lt;/p&gt;  &lt;p&gt;Yes, of course. Otherwise, I wouldn&amp;#8217;t be writing this article that is more than likely a good 2 or 3 pages in length. &lt;/p&gt;  &lt;p&gt;I&amp;#8217;m a designer and coder, I use Adobe Photoshop with a lot of documents opened up - on top of that, I usually listen to music while working as it helps me work better, so Windows Media Player 10 is usually open on my machine. Also opened are Windows Messenger, Microsoft Office Outlook 2003, SmartFTP (one of the best FTP clients I&amp;#8217;ve ever used, highly recommended), Microsoft Word, a few dozen Internet Explorer windows, some Mozilla Firefox windows with a few tabs opened in each one, and EditPlus 2 for coding. &lt;/p&gt;  &lt;p&gt;That&amp;#8217;s a pretty heavy working set of applications, and I demand the most out of my computer when it comes to multitasking (I have a Pentium 4 2.66GHz, with 1.5GB of RAM just for those who are wondering). &lt;/p&gt;  &lt;p&gt;I too have nailed these handle limits - more than once. After much searching and pondering I have finally come up with a working solution around this issue (hurray!) &lt;/p&gt;  &lt;p&gt;&amp;#8220;Yeah yeah, stop rambling and cut to the chase!&amp;#8221; &lt;/p&gt;  &lt;p&gt;First and foremost, I must warn you that modifying these settings incorrectly can render your Windows installation near useless. Also, depending on your computer configuration and the amount of RAM in your system, you may wish to play around with the numbers until you find a setting that is perfect for your computer. &lt;/p&gt;  &lt;p&gt;To back up everything, open the Registry Editor (click on Start, Run, and then type &amp;#8220;regedit.exe&amp;#8221; (without the quotes). &lt;/p&gt;  &lt;p&gt;To backup a registry key: &lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160; * In the Registry Editor on the left hand side, you will see the navigation pane. Using your mouse or keyboard, navigate to the following subkeys: &lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160; * HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\SubSystems   &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; * HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Windows    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; * Right click on each of the subkeys above in the left hand pane and from the context menu that appears, choose the &amp;#8220;Export&amp;#8221; option. Save the exported registry data file where ever you wish, but make sure that it will be accessible should we need to restore the files. &lt;/p&gt;  &lt;p&gt;&amp;#8220;OK, I&amp;#8217;ve backed everything up! Now what!?&amp;#8221; &lt;/p&gt;  &lt;p&gt;Don&amp;#8217;t quit the Registry Editor just yet - we still need to make some modifications in order to increase the handle limits in Windows. &lt;/p&gt;  &lt;p&gt;With the Registry Editor opened, navigate to HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\SubSystems. You will notice a set of &amp;#8220;REG_MULTI_SZ&amp;#8221; and &amp;#8220;REG_EXPAND_SZ&amp;#8221; keys in the right hand pane. The one that we are interested in modifying is called &amp;#8220;Windows&amp;#8221;. &lt;/p&gt;  &lt;p&gt;To modify the key, double click on it. It should look something like this: &lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160; %SystemRoot%\system32\csrss.exe ObjectDirectory=\Windows SharedSection=1024,3072,512 Windows=On SubSystemType=Windows ServerDll=basesrv,1 ServerDll=winsrv:UserServerDllInitialization,3 ServerDll=winsrv:ConServerDllInitialization,2 ProfileControl=Off MaxRequestThreads=16 &lt;/p&gt;  &lt;p&gt;The section of this string we are interested in modifting is &amp;#8220;SharedSection&amp;#8221;. &lt;/p&gt;  &lt;p&gt;In the SharedSection part of the string you will notice 3 numbers. What we are interested in is the middle value, &amp;#8220;3072?. Modify this value so that the middle number is &amp;#8220;8192?. &lt;/p&gt;  &lt;p&gt;It should look something like this after modifying the value: &lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160; %SystemRoot%\system32\csrss.exe ObjectDirectory=\Windows SharedSection=1024,8192,512 Windows=On SubSystemType=Windows ServerDll=basesrv,1 ServerDll=winsrv:UserServerDllInitialization,3 ServerDll=winsrv:ConServerDllInitialization,2 ProfileControl=Off MaxRequestThreads=16 &lt;/p&gt;  &lt;p&gt;Now that we&amp;#8217;ve changed this, lets continue, shall we? &lt;/p&gt;  &lt;p&gt;In the left hand pane of the Registry Editor, navigate to HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows. In the right hand side, you will see two REG_DWORD values, named &amp;#8220;GDIProcessHandleQuota&amp;#8221; and &amp;#8220;USERProcessHandleQuota&amp;#8221;. We will need to modify both of these. &lt;/p&gt;  &lt;p&gt;The first key we will want to modify is &amp;#8220;GDIProcessHandleQuota&amp;#8221;. This keys value can be set between 256 and 16,384 (maximum), and the default value is 10,000. I&amp;#8217;d recommend using 15,000 as a value for this key, however if you are doing a lot of multitasking, shoot for the stars and go with 16,384. &lt;/p&gt;  &lt;p&gt;This key can not be set past 16,384 as it is the maximum acceptable value. &lt;/p&gt;  &lt;p&gt;Now, lets modify &amp;#8220;USERProcessHandleQuota&amp;#8221;. This keys value can be set between 200 and 18,000 (maximum), with a default value of 10,000. I&amp;#8217;d recommend increasing this value to the same number used with &amp;#8220;GDIProcessHandleQuota&amp;#8221;, however as previously mentioned if you are working with a hefty application workload, shoot for the stars and go wth the maximum value of 18,000. &lt;/p&gt;  &lt;p&gt;This key can not be set past 18,000 as it is the maximum acceptable value. &lt;/p&gt;  &lt;p&gt;Do NOT attempt to increase these values past the maximum - Windows will become very unstable and may even stop working correctly. If Windows starts acting up after changing these values, lower them until the issues are resolved, or restore the backups of these keys&amp;#8217; values that we created before making modifications. &lt;/p&gt;  &lt;p&gt;Now that you&amp;#8217;ve changed these values, restart your computer and tax the system using the Internet Explorer trick mentioned previously - open Internet Explorer and hold down Ctrl+N on your keyboard to open up new Internet Explorer windows. Continue this until menus, buttons, and user interface elements stop working correctly. Also, open any applications you run day-to-day while you are performing this, so that you can get more of an idea if you have everything configured correctly. &lt;/p&gt;  &lt;p&gt;You may also want to monitor your memory usage and handles information in Task Manager to see whether or not the above registry values need any more modifications. &lt;/p&gt;  &lt;p&gt;I hope this helps with any multi-tasking issues you may have run into while running Microsoft Windows, now get back to work! &lt;/p&gt;  &lt;p&gt;   &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:a5a40e72-8029-4630-b0fb-8646cbf16666" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Flickr Tags: &lt;a href="http://flickr.com/photos/tags/GDI%20Handles" rel="tag"&gt;GDI Handles&lt;/a&gt;, &lt;a href="http://flickr.com/photos/tags/Increase%20GDI" rel="tag"&gt;Increase GDI&lt;/a&gt;, &lt;a href="http://flickr.com/photos/tags/Windows" rel="tag"&gt;Windows&lt;/a&gt;, &lt;a href="http://flickr.com/photos/tags/Adobe" rel="tag"&gt;Adobe&lt;/a&gt;, &lt;a href="http://flickr.com/photos/tags/Silverlight" rel="tag"&gt;Silverlight&lt;/a&gt;&lt;/div&gt; &lt;/p&gt;  &lt;p&gt;   &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:1c23b2b3-6900-4b20-a200-a45d325ce90e" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;BuzzNet Tags: &lt;a href="http://www.buzznet.com/tags/GDI%20Handles/" rel="tag"&gt;GDI Handles&lt;/a&gt;, &lt;a href="http://www.buzznet.com/tags/Increase%20GDI/" rel="tag"&gt;Increase GDI&lt;/a&gt;, &lt;a href="http://www.buzznet.com/tags/Windows/" rel="tag"&gt;Windows&lt;/a&gt;, &lt;a href="http://www.buzznet.com/tags/Adobe/" rel="tag"&gt;Adobe&lt;/a&gt;, &lt;a href="http://www.buzznet.com/tags/Silverlight/" rel="tag"&gt;Silverlight&lt;/a&gt;&lt;/div&gt; &lt;/p&gt;  &lt;p&gt;   &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:3b153e35-4aa3-4a67-a372-a72a4e08cbfa" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/GDI%20Handles" rel="tag"&gt;GDI Handles&lt;/a&gt;, &lt;a href="http://technorati.com/tags/Increase%20GDI" rel="tag"&gt;Increase GDI&lt;/a&gt;, &lt;a href="http://technorati.com/tags/Windows" rel="tag"&gt;Windows&lt;/a&gt;, &lt;a href="http://technorati.com/tags/Adobe" rel="tag"&gt;Adobe&lt;/a&gt;, &lt;a href="http://technorati.com/tags/Silverlight" rel="tag"&gt;Silverlight&lt;/a&gt;&lt;/div&gt; &lt;/p&gt;  &lt;p&gt;   &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:e5911074-ef8b-4b34-826a-81676c2d6a70" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;del.icio.us Tags: &lt;a href="http://del.icio.us/popular/GDI%20Handles" rel="tag"&gt;GDI Handles&lt;/a&gt;, &lt;a href="http://del.icio.us/popular/Increase%20GDI" rel="tag"&gt;Increase GDI&lt;/a&gt;, &lt;a href="http://del.icio.us/popular/Windows" rel="tag"&gt;Windows&lt;/a&gt;, &lt;a href="http://del.icio.us/popular/Adobe" rel="tag"&gt;Adobe&lt;/a&gt;, &lt;a href="http://del.icio.us/popular/Silverlight" rel="tag"&gt;Silverlight&lt;/a&gt;&lt;/div&gt; &lt;/p&gt;  &lt;p&gt;   &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:29721138-9e54-4dcb-8931-ca9476c0a1f9" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;IceRocket Tags: &lt;a href="http://blogs.icerocket.com/search?q=GDI%20Handles" rel="tag"&gt;GDI Handles&lt;/a&gt;, &lt;a href="http://blogs.icerocket.com/search?q=Increase%20GDI" rel="tag"&gt;Increase GDI&lt;/a&gt;, &lt;a href="http://blogs.icerocket.com/search?q=Windows" rel="tag"&gt;Windows&lt;/a&gt;, &lt;a href="http://blogs.icerocket.com/search?q=Adobe" rel="tag"&gt;Adobe&lt;/a&gt;, &lt;a href="http://blogs.icerocket.com/search?q=Silverlight" rel="tag"&gt;Silverlight&lt;/a&gt;&lt;/div&gt; &lt;/p&gt;  &lt;p&gt;   &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:33619ebf-f5d4-4056-823e-f5a458d542af" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;LiveJournal Tags: &lt;a href="http://www.livejournal.com/interests.bml?int=GDI%20Handles" rel="tag"&gt;GDI Handles&lt;/a&gt;, &lt;a href="http://www.livejournal.com/interests.bml?int=Increase%20GDI" rel="tag"&gt;Increase GDI&lt;/a&gt;, &lt;a href="http://www.livejournal.com/interests.bml?int=Windows" rel="tag"&gt;Windows&lt;/a&gt;, &lt;a href="http://www.livejournal.com/interests.bml?int=Adobe" rel="tag"&gt;Adobe&lt;/a&gt;, &lt;a href="http://www.livejournal.com/interests.bml?int=Silverlight" rel="tag"&gt;Silverlight&lt;/a&gt;&lt;/div&gt; &lt;/p&gt;  &lt;p&gt;   &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:cc13676c-16ba-4e26-a3b7-ffa4231124ec" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;43 Things Tags: &lt;a href="http://www.43things.com/tag/GDI%20Handles" rel="tag"&gt;GDI Handles&lt;/a&gt;, &lt;a href="http://www.43things.com/tag/Increase%20GDI" rel="tag"&gt;Increase GDI&lt;/a&gt;, &lt;a href="http://www.43things.com/tag/Windows" rel="tag"&gt;Windows&lt;/a&gt;, &lt;a href="http://www.43things.com/tag/Adobe" rel="tag"&gt;Adobe&lt;/a&gt;, &lt;a href="http://www.43things.com/tag/Silverlight" rel="tag"&gt;Silverlight&lt;/a&gt;&lt;/div&gt;&lt;/p&gt;</description><pubDate>Fri, 16 May 2008 08:40:49 GMT</pubDate><guid isPermaLink="true">https://weblogs.asp.net:443/mikedopp/increasing-user-handle-and-gdi-handle-limits</guid><category>Adobe</category><category>HowTo</category><category>Silverlight</category><category>Windows Server</category></item><item><title>Windows GUI Based MD5 Checker</title><link>https://weblogs.asp.net:443/mikedopp/windows-gui-based-md5-checker</link><description>&lt;p&gt;Ever need a quick and dirty way to check the MD5 Hash on any compressed folder or executable?&lt;/p&gt;  &lt;p&gt;At &lt;a title="Work" href="http://www.lifetime.com" target="_new" rel="co-worker colleague"&gt;Work&lt;/a&gt;: &lt;a title="Web Guru" href="http://www.joelevi.com/blog" target="_new" rel="friend acquaintance contact met co-worker colleague"&gt;Joe&lt;/a&gt; and I have had the occasional corrupt file from Microsoft and had to pull out of installing patches and such. This was a problem and a time waster. So in every deployment of any project we decided to be sticklers on checking the hashes. While yes there is a few utilities on the interweb or ExtraNet (both very bad slang for Internet) I have settled for the non installing executable to do my Hash Checking.&lt;/p&gt;  &lt;p&gt;Some have even commented: &amp;quot;If your such a great developer why don't you write your own?&amp;quot; I suppose I could however I have little time to rewrite the wheel.&lt;/p&gt;  &lt;p&gt;&lt;a href="https://aspblogs.blob.core.windows.net/media/mikedopp/WindowsLiveWriter/MD5CheckerforWindowsGUIBased_86F4/WinMD5Free.png"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="336" alt="WinMD5Free" src="https://aspblogs.blob.core.windows.net/media/mikedopp/WindowsLiveWriter/MD5CheckerforWindowsGUIBased_86F4/WinMD5Free_thumb.png" width="471" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Have a look and enjoy.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.winmd5.com/?rid=winmd5" target="_blank"&gt;WinMD5 Web Site&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a title="winmd5free.zip" href="http://www.winmd5.com/download/winmd5free.zip" target="_blank"&gt;winmd5free.zip&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Hashes for safety:&lt;/p&gt;  &lt;p&gt;WinMD5Free.zip MD5: 73f48840b60ab6da68b03acd322445ee &lt;/p&gt;  &lt;p&gt;WinMD5Free.exe MD5: 944a1e869969dd8a4b64ca5e6ebc209a&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:1f94c47c-42b4-40c7-bcdc-543bd5dfcc53" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Flickr Tags: &lt;a href="http://flickr.com/photos/tags/MD5" rel="tag"&gt;MD5&lt;/a&gt;, &lt;a href="http://flickr.com/photos/tags/Free%20niche%20utility%20software%20of%20the%20week" rel="tag"&gt;Free niche utility software of the week&lt;/a&gt;, &lt;a href="http://flickr.com/photos/tags/WinMD5" rel="tag"&gt;WinMD5&lt;/a&gt;, &lt;a href="http://flickr.com/photos/tags/Free" rel="tag"&gt;Free&lt;/a&gt;&lt;/div&gt;  &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:0b0df878-9c9f-4788-8f8a-890cef464f6b" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;BuzzNet Tags: &lt;a href="http://www.buzznet.com/tags/MD5/" rel="tag"&gt;MD5&lt;/a&gt;, &lt;a href="http://www.buzznet.com/tags/Free%20niche%20utility%20software%20of%20the%20week/" rel="tag"&gt;Free niche utility software of the week&lt;/a&gt;, &lt;a href="http://www.buzznet.com/tags/WinMD5/" rel="tag"&gt;WinMD5&lt;/a&gt;, &lt;a href="http://www.buzznet.com/tags/Free/" rel="tag"&gt;Free&lt;/a&gt;&lt;/div&gt;  &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:733f7066-4c65-48dc-8b4e-081921f2b626" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/MD5" rel="tag"&gt;MD5&lt;/a&gt;, &lt;a href="http://technorati.com/tags/Free%20niche%20utility%20software%20of%20the%20week" rel="tag"&gt;Free niche utility software of the week&lt;/a&gt;, &lt;a href="http://technorati.com/tags/WinMD5" rel="tag"&gt;WinMD5&lt;/a&gt;, &lt;a href="http://technorati.com/tags/Free" rel="tag"&gt;Free&lt;/a&gt;&lt;/div&gt;  &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:8ac62c95-cd8a-4417-b0e9-9d4b39ff0363" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;del.icio.us Tags: &lt;a href="http://del.icio.us/popular/MD5" rel="tag"&gt;MD5&lt;/a&gt;, &lt;a href="http://del.icio.us/popular/Free%20niche%20utility%20software%20of%20the%20week" rel="tag"&gt;Free niche utility software of the week&lt;/a&gt;, &lt;a href="http://del.icio.us/popular/WinMD5" rel="tag"&gt;WinMD5&lt;/a&gt;, &lt;a href="http://del.icio.us/popular/Free" rel="tag"&gt;Free&lt;/a&gt;&lt;/div&gt;  &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:8eb5277f-5f9b-4add-9218-abefbde099fb" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;IceRocket Tags: &lt;a href="http://blogs.icerocket.com/search?q=MD5" rel="tag"&gt;MD5&lt;/a&gt;, &lt;a href="http://blogs.icerocket.com/search?q=Free%20niche%20utility%20software%20of%20the%20week" rel="tag"&gt;Free niche utility software of the week&lt;/a&gt;, &lt;a href="http://blogs.icerocket.com/search?q=WinMD5" rel="tag"&gt;WinMD5&lt;/a&gt;, &lt;a href="http://blogs.icerocket.com/search?q=Free" rel="tag"&gt;Free&lt;/a&gt;&lt;/div&gt;  &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:c271cd4e-3546-4006-9935-559dcf86c9e8" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;LiveJournal Tags: &lt;a href="http://www.livejournal.com/interests.bml?int=MD5" rel="tag"&gt;MD5&lt;/a&gt;, &lt;a href="http://www.livejournal.com/interests.bml?int=Free%20niche%20utility%20software%20of%20the%20week" rel="tag"&gt;Free niche utility software of the week&lt;/a&gt;, &lt;a href="http://www.livejournal.com/interests.bml?int=WinMD5" rel="tag"&gt;WinMD5&lt;/a&gt;, &lt;a href="http://www.livejournal.com/interests.bml?int=Free" rel="tag"&gt;Free&lt;/a&gt;&lt;/div&gt;  &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:199f38b3-f2fe-48d8-84c8-a129377ebc9a" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;43 Things Tags: &lt;a href="http://www.43things.com/tag/MD5" rel="tag"&gt;MD5&lt;/a&gt;, &lt;a href="http://www.43things.com/tag/Free%20niche%20utility%20software%20of%20the%20week" rel="tag"&gt;Free niche utility software of the week&lt;/a&gt;, &lt;a href="http://www.43things.com/tag/WinMD5" rel="tag"&gt;WinMD5&lt;/a&gt;, &lt;a href="http://www.43things.com/tag/Free" rel="tag"&gt;Free&lt;/a&gt;&lt;/div&gt;</description><pubDate>Fri, 16 May 2008 07:04:19 GMT</pubDate><guid isPermaLink="true">https://weblogs.asp.net:443/mikedopp/windows-gui-based-md5-checker</guid></item><item><title>Useful IE Dotted Border Information</title><link>https://weblogs.asp.net:443/mikedopp/useful-ie-dotted-border-information</link><description>&lt;p&gt;Have you ever been styling your page and the design asks for a 1px dotted?&lt;/p&gt;  &lt;p&gt;Take a moment breath and I mean breath without expelling a whole lot of cuss words due to the fact IE 6 and 7 see 1px dotted as a solid line.&lt;/p&gt;  &lt;p&gt;Let the designer know you have to bump up the pixels to 2px for dotted lines to work.&lt;/p&gt;  &lt;p&gt;This hint would have helped me in hours of pulling out my hair and arguments.&lt;/p&gt;  &lt;p&gt;Enjoy!&lt;/p&gt;  &lt;p&gt;   &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:4081ec01-15d8-4e5b-8e38-97885abcb3d8" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;43 Things Tags: &lt;a href="http://www.43things.com/tag/Dotted%20Pixels" rel="tag"&gt;Dotted Pixels&lt;/a&gt;, &lt;a href="http://www.43things.com/tag/IE6" rel="tag"&gt;IE6&lt;/a&gt;, &lt;a href="http://www.43things.com/tag/IE7" rel="tag"&gt;IE7&lt;/a&gt;, &lt;a href="http://www.43things.com/tag/Help%20Dotted%20pixels" rel="tag"&gt;Help Dotted pixels&lt;/a&gt;&lt;/div&gt; &lt;/p&gt;  &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:97d37bf0-19f3-42ad-a0ad-92307ccc4c73" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Flickr Tags: &lt;a href="http://flickr.com/photos/tags/Dotted%20Pixels" rel="tag"&gt;Dotted Pixels&lt;/a&gt;, &lt;a href="http://flickr.com/photos/tags/IE6" rel="tag"&gt;IE6&lt;/a&gt;, &lt;a href="http://flickr.com/photos/tags/IE7" rel="tag"&gt;IE7&lt;/a&gt;, &lt;a href="http://flickr.com/photos/tags/Help%20Dotted%20pixels" rel="tag"&gt;Help Dotted pixels&lt;/a&gt;&lt;/div&gt;  &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:9f76ae9b-94df-4d9f-9dda-c5d5f8ca64c4" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;BuzzNet Tags: &lt;a href="http://www.buzznet.com/tags/Dotted%20Pixels/" rel="tag"&gt;Dotted Pixels&lt;/a&gt;, &lt;a href="http://www.buzznet.com/tags/IE6/" rel="tag"&gt;IE6&lt;/a&gt;, &lt;a href="http://www.buzznet.com/tags/IE7/" rel="tag"&gt;IE7&lt;/a&gt;, &lt;a href="http://www.buzznet.com/tags/Help%20Dotted%20pixels/" rel="tag"&gt;Help Dotted pixels&lt;/a&gt;&lt;/div&gt;  &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:956d91e2-9f2f-4606-ba24-c17fa2cd35a8" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/Dotted%20Pixels" rel="tag"&gt;Dotted Pixels&lt;/a&gt;, &lt;a href="http://technorati.com/tags/IE6" rel="tag"&gt;IE6&lt;/a&gt;, &lt;a href="http://technorati.com/tags/IE7" rel="tag"&gt;IE7&lt;/a&gt;, &lt;a href="http://technorati.com/tags/Help%20Dotted%20pixels" rel="tag"&gt;Help Dotted pixels&lt;/a&gt;&lt;/div&gt;  &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:fbb9f346-fb51-4173-aa6b-482f6dcb91b8" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;del.icio.us Tags: &lt;a href="http://del.icio.us/popular/Dotted%20Pixels" rel="tag"&gt;Dotted Pixels&lt;/a&gt;, &lt;a href="http://del.icio.us/popular/IE6" rel="tag"&gt;IE6&lt;/a&gt;, &lt;a href="http://del.icio.us/popular/IE7" rel="tag"&gt;IE7&lt;/a&gt;, &lt;a href="http://del.icio.us/popular/Help%20Dotted%20pixels" rel="tag"&gt;Help Dotted pixels&lt;/a&gt;&lt;/div&gt;  &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:f41980cc-8238-4f50-9211-b3854c8a70fc" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;IceRocket Tags: &lt;a href="http://blogs.icerocket.com/search?q=Dotted%20Pixels" rel="tag"&gt;Dotted Pixels&lt;/a&gt;, &lt;a href="http://blogs.icerocket.com/search?q=IE6" rel="tag"&gt;IE6&lt;/a&gt;, &lt;a href="http://blogs.icerocket.com/search?q=IE7" rel="tag"&gt;IE7&lt;/a&gt;, &lt;a href="http://blogs.icerocket.com/search?q=Help%20Dotted%20pixels" rel="tag"&gt;Help Dotted pixels&lt;/a&gt;&lt;/div&gt;  &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:3996a823-f5de-40b0-a993-9fe35aa396c0" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;LiveJournal Tags: &lt;a href="http://www.livejournal.com/interests.bml?int=Dotted%20Pixels" rel="tag"&gt;Dotted Pixels&lt;/a&gt;, &lt;a href="http://www.livejournal.com/interests.bml?int=IE6" rel="tag"&gt;IE6&lt;/a&gt;, &lt;a href="http://www.livejournal.com/interests.bml?int=IE7" rel="tag"&gt;IE7&lt;/a&gt;, &lt;a href="http://www.livejournal.com/interests.bml?int=Help%20Dotted%20pixels" rel="tag"&gt;Help Dotted pixels&lt;/a&gt;&lt;/div&gt;</description><pubDate>Wed, 14 May 2008 07:13:43 GMT</pubDate><guid isPermaLink="true">https://weblogs.asp.net:443/mikedopp/useful-ie-dotted-border-information</guid><category>ASP.NET 2.0</category><category>HTML</category></item><item><title>Display Machine Details on Windows Server Login</title><link>https://weblogs.asp.net:443/mikedopp/display-machine-details-on-windows-server-login</link><description>&lt;p&gt;If your like me you develop in multiple servers. Using Terminal Services is a easy way to move through these servers remotely and with ease. Often I have 6 or more Remote Sessions open at one time. This as you can well imagine can get very confusing. I got to the point I felt I needed better way to brand my Desktop sessions. I tried wallpaper which by the way works well also. However this trick works as a supplement to the wallpaper trick.This registry edit will add text to the login string on the login after you hit &amp;quot;ctrl alt delete&amp;quot; giving you a chance to identify the machine in case you get confused.&lt;/p&gt;  &lt;p&gt;&amp;quot;&lt;/p&gt;  &lt;p&gt;Windows Registry Editor Version 5.00 &lt;/p&gt;  &lt;p&gt;[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon] &lt;/p&gt;  &lt;p&gt;&amp;quot;welcome&amp;quot;=&amp;quot;Good Times Enter your own welcome message here&amp;quot;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;quot;&lt;/p&gt;  &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:2a2477eb-2c82-4057-ab66-0a3ecccc7bbe" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/Display%20Details%20on%20Windows%20Login" rel="tag"&gt;Display Details on Windows Login&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Add%20Text%20to%20Login%20String" rel="tag"&gt;Add Text to Login String&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Ctrl%20Alt%20DEL" rel="tag"&gt;Ctrl Alt DEL&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Microsoft" rel="tag"&gt;Microsoft&lt;/a&gt;&lt;/div&gt;  &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:ba7346a6-5833-4035-92d5-66c9e1316eb5" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;LiveJournal Tags: &lt;a href="http://www.livejournal.com/interests.bml?int=Display%20Details%20on%20Windows%20Login" rel="tag"&gt;Display Details on Windows Login&lt;/a&gt;,&lt;a href="http://www.livejournal.com/interests.bml?int=Add%20Text%20to%20Login%20String" rel="tag"&gt;Add Text to Login String&lt;/a&gt;,&lt;a href="http://www.livejournal.com/interests.bml?int=Ctrl%20Alt%20DEL" rel="tag"&gt;Ctrl Alt DEL&lt;/a&gt;,&lt;a href="http://www.livejournal.com/interests.bml?int=Microsoft" rel="tag"&gt;Microsoft&lt;/a&gt;&lt;/div&gt;  &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:0aa5cb63-7a61-4b3d-b10f-b960ea31274a" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Flickr Tags: &lt;a href="http://flickr.com/photos/tags/Display%20Details%20on%20Windows%20Login" rel="tag"&gt;Display Details on Windows Login&lt;/a&gt;,&lt;a href="http://flickr.com/photos/tags/Add%20Text%20to%20Login%20String" rel="tag"&gt;Add Text to Login String&lt;/a&gt;,&lt;a href="http://flickr.com/photos/tags/Ctrl%20Alt%20DEL" rel="tag"&gt;Ctrl Alt DEL&lt;/a&gt;,&lt;a href="http://flickr.com/photos/tags/Microsoft" rel="tag"&gt;Microsoft&lt;/a&gt;&lt;/div&gt;  &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:b3730073-adf9-4b62-925f-e961eaee46a6" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;del.icio.us Tags: &lt;a href="http://del.icio.us/popular/Display%20Details%20on%20Windows%20Login" rel="tag"&gt;Display Details on Windows Login&lt;/a&gt;,&lt;a href="http://del.icio.us/popular/Add%20Text%20to%20Login%20String" rel="tag"&gt;Add Text to Login String&lt;/a&gt;,&lt;a href="http://del.icio.us/popular/Ctrl%20Alt%20DEL" rel="tag"&gt;Ctrl Alt DEL&lt;/a&gt;,&lt;a href="http://del.icio.us/popular/Microsoft" rel="tag"&gt;Microsoft&lt;/a&gt;&lt;/div&gt;  &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:203b99ad-1719-47d9-8852-7641b8afa509" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;IceRocket Tags: &lt;a href="http://blogs.icerocket.com/search?q=Display%20Details%20on%20Windows%20Login" rel="tag"&gt;Display Details on Windows Login&lt;/a&gt;,&lt;a href="http://blogs.icerocket.com/search?q=Add%20Text%20to%20Login%20String" rel="tag"&gt;Add Text to Login String&lt;/a&gt;,&lt;a href="http://blogs.icerocket.com/search?q=Ctrl%20Alt%20DEL" rel="tag"&gt;Ctrl Alt DEL&lt;/a&gt;,&lt;a href="http://blogs.icerocket.com/search?q=Microsoft" rel="tag"&gt;Microsoft&lt;/a&gt;&lt;/div&gt;  &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:6bbd2155-a558-4827-b0eb-0ff9ea7ffb96" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;43 Things Tags: &lt;a href="http://www.43things.com/tag/Display%20Details%20on%20Windows%20Login" rel="tag"&gt;Display Details on Windows Login&lt;/a&gt;,&lt;a href="http://www.43things.com/tag/Add%20Text%20to%20Login%20String" rel="tag"&gt;Add Text to Login String&lt;/a&gt;,&lt;a href="http://www.43things.com/tag/Ctrl%20Alt%20DEL" rel="tag"&gt;Ctrl Alt DEL&lt;/a&gt;,&lt;a href="http://www.43things.com/tag/Microsoft" rel="tag"&gt;Microsoft&lt;/a&gt;&lt;/div&gt;  &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:0fed0c13-c218-48f6-bd14-a35fd5180b14" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;BuzzNet Tags: &lt;a href="http://www.buzznet.com/tags/Display%20Details%20on%20Windows%20Login" rel="tag"&gt;Display Details on Windows Login&lt;/a&gt;,&lt;a href="http://www.buzznet.com/tags/Add%20Text%20to%20Login%20String" rel="tag"&gt;Add Text to Login String&lt;/a&gt;,&lt;a href="http://www.buzznet.com/tags/Ctrl%20Alt%20DEL" rel="tag"&gt;Ctrl Alt DEL&lt;/a&gt;,&lt;a href="http://www.buzznet.com/tags/Microsoft" rel="tag"&gt;Microsoft&lt;/a&gt;&lt;/div&gt;</description><pubDate>Thu, 01 May 2008 04:35:56 GMT</pubDate><guid isPermaLink="true">https://weblogs.asp.net:443/mikedopp/display-machine-details-on-windows-server-login</guid><category>Windows Server</category></item><item><title>All Your Base Belong to SQL or Backup all your SQL Databases with one Query</title><link>https://weblogs.asp.net:443/mikedopp/all-your-base-belong-to-sql-or-backup-all-your-sql-databases-with-one-query</link><description>&lt;p&gt;Most of you would rather the the first title before or.    &lt;br /&gt;Can't Remeber where I got most of this script(if you know please send me a hate email) however I did some enhancements and I am reposting it. &lt;/p&gt;  &lt;p&gt;DECLARE @DBName varchar(255) &lt;/p&gt;  &lt;p&gt;DECLARE @DATABASES_Fetch int &lt;/p&gt;  &lt;p&gt;DECLARE DATABASES_CURSOR CURSOR FOR    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; select     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; DATABASE_NAME&amp;#160;&amp;#160; = db_name(s_mf.database_id)     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; from     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; sys.master_files s_mf     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; where     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; -- ONLINE     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; s_mf.state = 0 &lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; -- Only look at databases to which we have access    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; and has_dbaccess(db_name(s_mf.database_id)) = 1 &lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; -- Not master, tempdb or model    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; and db_name(s_mf.database_id) not in ('Master','tempdb','model')     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; group by s_mf.database_id     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; order by 1 &lt;/p&gt;  &lt;p&gt;OPEN DATABASES_CURSOR &lt;/p&gt;  &lt;p&gt;FETCH NEXT FROM DATABASES_CURSOR INTO @DBName &lt;/p&gt;  &lt;p&gt;WHILE @@FETCH_STATUS = 0    &lt;br /&gt;BEGIN     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; declare @DBFileName varchar(256)&amp;#160;&amp;#160;&amp;#160; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; set @DBFileName = datename(dw, getdate()) + ' - ' +     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; replace(replace(@DBName,':','_'),'\','_')+ '.BAK' &lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160; exec ('BACKUP DATABASE [' + @DBName + '] TO&amp;#160; DISK = N''D:\dbbackup\' +    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; @DBFileName + ''' WITH NOFORMAT, INIT,&amp;#160; NAME = N''' +     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; @DBName + '-Full Database Backup'', SKIP, NOREWIND, NOUNLOAD,&amp;#160; STATS = 100')&lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160; FETCH NEXT FROM DATABASES_CURSOR INTO @DBName    &lt;br /&gt;END &lt;/p&gt;  &lt;p&gt;CLOSE DATABASES_CURSOR    &lt;br /&gt;DEALLOCATE DATABASES_CURSOR &lt;/p&gt;  &lt;p&gt;Make sure the backup path exists on the server.&lt;/p&gt;  &lt;p&gt;   &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:4067251a-5c88-44d8-9626-fb0de3826ef9" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Flickr Tags: &lt;a href="http://flickr.com/photos/tags/MSSQL" rel="tag"&gt;MSSQL&lt;/a&gt;, &lt;a href="http://flickr.com/photos/tags/Backup%20All%20your%20SQL%20Databases" rel="tag"&gt;Backup All your SQL Databases&lt;/a&gt;, &lt;a href="http://flickr.com/photos/tags/Generate%20BAK%20files" rel="tag"&gt;Generate BAK files&lt;/a&gt;&lt;/div&gt; &lt;/p&gt;  &lt;p&gt;   &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:91676fe2-826c-4ad3-92ad-a46ddabcfa81" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;BuzzNet Tags: &lt;a href="http://www.buzznet.com/tags/MSSQL/" rel="tag"&gt;MSSQL&lt;/a&gt;, &lt;a href="http://www.buzznet.com/tags/Backup%20All%20your%20SQL%20Databases/" rel="tag"&gt;Backup All your SQL Databases&lt;/a&gt;, &lt;a href="http://www.buzznet.com/tags/Generate%20BAK%20files/" rel="tag"&gt;Generate BAK files&lt;/a&gt;&lt;/div&gt; &lt;/p&gt;  &lt;p&gt;   &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:44d58912-2c58-4e70-88ff-8c57a614e3b8" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/MSSQL" rel="tag"&gt;MSSQL&lt;/a&gt;, &lt;a href="http://technorati.com/tags/Backup%20All%20your%20SQL%20Databases" rel="tag"&gt;Backup All your SQL Databases&lt;/a&gt;, &lt;a href="http://technorati.com/tags/Generate%20BAK%20files" rel="tag"&gt;Generate BAK files&lt;/a&gt;&lt;/div&gt; &lt;/p&gt;  &lt;p&gt;   &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:b0dfa719-7870-4273-bcff-0268bd91b146" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;del.icio.us Tags: &lt;a href="http://del.icio.us/popular/MSSQL" rel="tag"&gt;MSSQL&lt;/a&gt;, &lt;a href="http://del.icio.us/popular/Backup%20All%20your%20SQL%20Databases" rel="tag"&gt;Backup All your SQL Databases&lt;/a&gt;, &lt;a href="http://del.icio.us/popular/Generate%20BAK%20files" rel="tag"&gt;Generate BAK files&lt;/a&gt;&lt;/div&gt; &lt;/p&gt;  &lt;p&gt;   &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:4cc664e1-01ab-4b7a-a454-b8149a58772a" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;IceRocket Tags: &lt;a href="http://blogs.icerocket.com/search?q=MSSQL" rel="tag"&gt;MSSQL&lt;/a&gt;, &lt;a href="http://blogs.icerocket.com/search?q=Backup%20All%20your%20SQL%20Databases" rel="tag"&gt;Backup All your SQL Databases&lt;/a&gt;, &lt;a href="http://blogs.icerocket.com/search?q=Generate%20BAK%20files" rel="tag"&gt;Generate BAK files&lt;/a&gt;&lt;/div&gt; &lt;/p&gt;  &lt;p&gt;   &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:c74ff5b0-19ef-4815-a365-a5ec8ff3ff49" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;LiveJournal Tags: &lt;a href="http://www.livejournal.com/interests.bml?int=MSSQL" rel="tag"&gt;MSSQL&lt;/a&gt;, &lt;a href="http://www.livejournal.com/interests.bml?int=Backup%20All%20your%20SQL%20Databases" rel="tag"&gt;Backup All your SQL Databases&lt;/a&gt;, &lt;a href="http://www.livejournal.com/interests.bml?int=Generate%20BAK%20files" rel="tag"&gt;Generate BAK files&lt;/a&gt;&lt;/div&gt; &lt;/p&gt;  &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:42952bdd-b4b0-46de-b672-56771946ac06" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;43 Things Tags: &lt;a href="http://www.43things.com/tag/MSSQL" rel="tag"&gt;MSSQL&lt;/a&gt;, &lt;a href="http://www.43things.com/tag/Backup%20All%20your%20SQL%20Databases" rel="tag"&gt;Backup All your SQL Databases&lt;/a&gt;, &lt;a href="http://www.43things.com/tag/Generate%20BAK%20files" rel="tag"&gt;Generate BAK files&lt;/a&gt;&lt;/div&gt;</description><pubDate>Thu, 24 Apr 2008 07:25:26 GMT</pubDate><guid isPermaLink="true">https://weblogs.asp.net:443/mikedopp/all-your-base-belong-to-sql-or-backup-all-your-sql-databases-with-one-query</guid><category>MSSQL</category></item><item><title>Intellisense broken? Try this</title><link>https://weblogs.asp.net:443/mikedopp/intellisense-broken-try-this</link><description>&lt;p&gt;To restore it, go to &lt;/p&gt;  &lt;p&gt;Tools &amp;gt;&lt;/p&gt;  &lt;p&gt;Options &amp;gt; &lt;/p&gt;  &lt;p&gt;Text Editor &amp;gt; &lt;/p&gt;  &lt;p&gt;C# &amp;gt; &lt;/p&gt;  &lt;p&gt;General and check &amp;quot;Auto list members&amp;quot; and &amp;quot;Parameter information&amp;quot; checkboxes.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;   &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:80783b37-8daa-4db5-b0b4-ccc9c4051f17" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Flickr Tags: &lt;a href="http://flickr.com/photos/tags/Intellisense%20Broken" rel="tag"&gt;Intellisense Broken&lt;/a&gt;, &lt;a href="http://flickr.com/photos/tags/Intellisense%20not%20working" rel="tag"&gt;Intellisense not working&lt;/a&gt;, &lt;a href="http://flickr.com/photos/tags/Intellisense" rel="tag"&gt;Intellisense&lt;/a&gt;, &lt;a href="http://flickr.com/photos/tags/Visual%20Studio" rel="tag"&gt;Visual Studio&lt;/a&gt;&lt;/div&gt; &lt;/p&gt;  &lt;p&gt;   &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:4a54f680-cbdd-42c1-b624-6d7f30de04cc" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;BuzzNet Tags: &lt;a href="http://www.buzznet.com/tags/Intellisense%20Broken/" rel="tag"&gt;Intellisense Broken&lt;/a&gt;, &lt;a href="http://www.buzznet.com/tags/Intellisense%20not%20working/" rel="tag"&gt;Intellisense not working&lt;/a&gt;, &lt;a href="http://www.buzznet.com/tags/Intellisense/" rel="tag"&gt;Intellisense&lt;/a&gt;, &lt;a href="http://www.buzznet.com/tags/Visual%20Studio/" rel="tag"&gt;Visual Studio&lt;/a&gt;&lt;/div&gt; &lt;/p&gt;  &lt;p&gt;   &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:6b30ffd7-1739-4cf0-a922-dbdda9d98f8b" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/Intellisense%20Broken" rel="tag"&gt;Intellisense Broken&lt;/a&gt;, &lt;a href="http://technorati.com/tags/Intellisense%20not%20working" rel="tag"&gt;Intellisense not working&lt;/a&gt;, &lt;a href="http://technorati.com/tags/Intellisense" rel="tag"&gt;Intellisense&lt;/a&gt;, &lt;a href="http://technorati.com/tags/Visual%20Studio" rel="tag"&gt;Visual Studio&lt;/a&gt;&lt;/div&gt; &lt;/p&gt;  &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:a8e83590-6606-44b2-b0f0-20fc63f0149b" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;del.icio.us Tags: &lt;a href="http://del.icio.us/popular/Intellisense%20Broken" rel="tag"&gt;Intellisense Broken&lt;/a&gt;, &lt;a href="http://del.icio.us/popular/Intellisense%20not%20working" rel="tag"&gt;Intellisense not working&lt;/a&gt;, &lt;a href="http://del.icio.us/popular/Intellisense" rel="tag"&gt;Intellisense&lt;/a&gt;, &lt;a href="http://del.icio.us/popular/Visual%20Studio" rel="tag"&gt;Visual Studio&lt;/a&gt;&lt;/div&gt;  &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:a618d7bc-f3e8-4afb-a62b-465e9346960f" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;IceRocket Tags: &lt;a href="http://blogs.icerocket.com/search?q=Intellisense%20Broken" rel="tag"&gt;Intellisense Broken&lt;/a&gt;, &lt;a href="http://blogs.icerocket.com/search?q=Intellisense%20not%20working" rel="tag"&gt;Intellisense not working&lt;/a&gt;, &lt;a href="http://blogs.icerocket.com/search?q=Intellisense" rel="tag"&gt;Intellisense&lt;/a&gt;, &lt;a href="http://blogs.icerocket.com/search?q=Visual%20Studio" rel="tag"&gt;Visual Studio&lt;/a&gt;&lt;/div&gt;  &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:84891dff-218e-47ac-b92c-209a6b5a3541" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;LiveJournal Tags: &lt;a href="http://www.livejournal.com/interests.bml?int=Intellisense%20Broken" rel="tag"&gt;Intellisense Broken&lt;/a&gt;, &lt;a href="http://www.livejournal.com/interests.bml?int=Intellisense%20not%20working" rel="tag"&gt;Intellisense not working&lt;/a&gt;, &lt;a href="http://www.livejournal.com/interests.bml?int=Intellisense" rel="tag"&gt;Intellisense&lt;/a&gt;, &lt;a href="http://www.livejournal.com/interests.bml?int=Visual%20Studio" rel="tag"&gt;Visual Studio&lt;/a&gt;&lt;/div&gt;  &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:b7a9b3ef-f45a-4a11-8ef7-32f297db679a" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;43 Things Tags: &lt;a href="http://www.43things.com/tag/Intellisense%20Broken" rel="tag"&gt;Intellisense Broken&lt;/a&gt;, &lt;a href="http://www.43things.com/tag/Intellisense%20not%20working" rel="tag"&gt;Intellisense not working&lt;/a&gt;, &lt;a href="http://www.43things.com/tag/Intellisense" rel="tag"&gt;Intellisense&lt;/a&gt;, &lt;a href="http://www.43things.com/tag/Visual%20Studio" rel="tag"&gt;Visual Studio&lt;/a&gt;&lt;/div&gt;</description><pubDate>Wed, 23 Apr 2008 04:33:01 GMT</pubDate><guid isPermaLink="true">https://weblogs.asp.net:443/mikedopp/intellisense-broken-try-this</guid><category>C#</category><category>HowTo</category></item><item><title>ASP.NET 2.0 and IIS SMTP Server Setup</title><link>https://weblogs.asp.net:443/mikedopp/asp-net-2-0-and-iis-smtp-server-setup</link><description>&lt;p&gt;I know, I know, Everyone and their dog has one of these (Blog posts about IIS SMTP Setup). So of course I couldn't leave my fifi (my dog (virtual of course(made up for the story))) out.&lt;/p&gt;  &lt;p&gt;I have been messing around with email alerts from all my ASP.NET 2.0 Applications of course and of course I love the IIS server piece of Windows xp - 200x. One thing that has always beguiled (had to look up that word to make sure proper use) me is the SMTP server. Now all of you Windows Web Masters (System Administrators of the Web) are going to roll your eyes at me. That's&amp;#160; cool this post is mostly a reminder to me.&amp;#160; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;When Setting up ASP.NET 2.0 Web Apps in SMTP Here is the configuration you want to put into your web.config.&lt;/p&gt;  &lt;p&gt;Make sure the &amp;lt;network host=&amp;quot;the&lt;strong&gt; IP address of the server&lt;/strong&gt; not localhost or 127.0.01&amp;quot; /&amp;gt;for whatever reason and I am sure there is a good one this does not work.&lt;/p&gt;  &lt;p&gt;&amp;lt;system.net&amp;gt;    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &amp;lt;mailSettings&amp;gt;     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;smtp deliveryMethod=&amp;quot;Network&amp;quot; from=&amp;quot;esupport@yourcompany.com&amp;quot;&amp;gt;     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;network host=&amp;quot;your IP address&amp;quot;&amp;#160; port=&amp;quot;25&amp;quot; userName=&lt;a href="mailto:you@yourcompany.com"&gt;you@yourcompany.com&lt;/a&gt;/&amp;gt;     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;/smtp&amp;gt;     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &amp;lt;/mailSettings&amp;gt;     &lt;br /&gt;&amp;#160; &amp;lt;/system.net&amp;gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;SMTP Side Make sure you setup Relay to just the IP address of your server and you could add the localhost. &lt;/p&gt;  &lt;p&gt;All will work and the world can now be spammed by another IIS Server.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:751eb40e-d05f-486e-831f-0f4a3c0fb2c8" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Flickr Tags: &lt;a href="http://flickr.com/photos/tags/ASP.NET" rel="tag"&gt;ASP.NET&lt;/a&gt;, &lt;a href="http://flickr.com/photos/tags/SMTP" rel="tag"&gt;SMTP&lt;/a&gt;, &lt;a href="http://flickr.com/photos/tags/Config" rel="tag"&gt;Config&lt;/a&gt;&lt;/div&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:e9205a5a-2e46-43b4-91e5-9090ee1b2828" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;BuzzNet Tags: &lt;a href="http://www.buzznet.com/tags/ASP.NET/" rel="tag"&gt;ASP.NET&lt;/a&gt;, &lt;a href="http://www.buzznet.com/tags/SMTP/" rel="tag"&gt;SMTP&lt;/a&gt;, &lt;a href="http://www.buzznet.com/tags/Config/" rel="tag"&gt;Config&lt;/a&gt;&lt;/div&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:bcee34eb-cea9-42c3-ae78-f090d6a8ff4e" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/ASP.NET" rel="tag"&gt;ASP.NET&lt;/a&gt;, &lt;a href="http://technorati.com/tags/SMTP" rel="tag"&gt;SMTP&lt;/a&gt;, &lt;a href="http://technorati.com/tags/Config" rel="tag"&gt;Config&lt;/a&gt;&lt;/div&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:be1919a9-a206-4a4c-90f7-668a67b428a6" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;del.icio.us Tags: &lt;a href="http://del.icio.us/popular/ASP.NET" rel="tag"&gt;ASP.NET&lt;/a&gt;, &lt;a href="http://del.icio.us/popular/SMTP" rel="tag"&gt;SMTP&lt;/a&gt;, &lt;a href="http://del.icio.us/popular/Config" rel="tag"&gt;Config&lt;/a&gt;&lt;/div&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:cafca655-aea5-4274-85dc-b4520b4bd797" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;IceRocket Tags: &lt;a href="http://blogs.icerocket.com/search?q=ASP.NET" rel="tag"&gt;ASP.NET&lt;/a&gt;, &lt;a href="http://blogs.icerocket.com/search?q=SMTP" rel="tag"&gt;SMTP&lt;/a&gt;, &lt;a href="http://blogs.icerocket.com/search?q=Config" rel="tag"&gt;Config&lt;/a&gt;&lt;/div&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:d74d0f5a-d1ea-4227-b8d4-1de93acc86f2" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;LiveJournal Tags: &lt;a href="http://www.livejournal.com/interests.bml?int=ASP.NET" rel="tag"&gt;ASP.NET&lt;/a&gt;, &lt;a href="http://www.livejournal.com/interests.bml?int=SMTP" rel="tag"&gt;SMTP&lt;/a&gt;, &lt;a href="http://www.livejournal.com/interests.bml?int=Config" rel="tag"&gt;Config&lt;/a&gt;&lt;/div&gt;  &lt;p&gt;&lt;/p&gt;  &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:90065f8e-1453-4fd4-865f-dfe7d23bbd32" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;LiveJournal Tags: &lt;a href="http://www.livejournal.com/interests.bml?int=ASP.NET" rel="tag"&gt;ASP.NET&lt;/a&gt;, &lt;a href="http://www.livejournal.com/interests.bml?int=SMTP" rel="tag"&gt;SMTP&lt;/a&gt;, &lt;a href="http://www.livejournal.com/interests.bml?int=Config" rel="tag"&gt;Config&lt;/a&gt;&lt;/div&gt;</description><pubDate>Mon, 31 Mar 2008 07:38:14 GMT</pubDate><guid isPermaLink="true">https://weblogs.asp.net:443/mikedopp/asp-net-2-0-and-iis-smtp-server-setup</guid><category>ASP.NET 2.0</category><category>IIS</category><category>SMTP</category></item></channel></rss>