<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://weblogs.asp.net/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Phil Scott&amp;#39;s WebLog</title><link>http://weblogs.asp.net/pscott/default.aspx</link><description>Quite exciting this computer magic</description><dc:language>en</dc:language><generator>CommunityServer 2007 SP1 (Build: 20510.895)</generator><item><title>Booting Windows 7 and VS 2010 on SSD in 18 seconds</title><link>http://weblogs.asp.net/pscott/archive/2009/11/06/booting-windows-7-and-vs-2010-on-ssd-in-18-seconds.aspx</link><pubDate>Fri, 06 Nov 2009 22:17:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:7248558</guid><dc:creator>Phil Scott</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/pscott/rsscomments.aspx?PostID=7248558</wfw:commentRss><comments>http://weblogs.asp.net/pscott/archive/2009/11/06/booting-windows-7-and-vs-2010-on-ssd-in-18-seconds.aspx#comments</comments><description>
&lt;p&gt;I've been doing quite a bit of work with VS2010 recently as we've prepared for our launch of our free &lt;a href="http://aspnet4beta.maximumasp.com/" target="_blank" mce_href="http://aspnet4beta.maximumasp.com/"&gt;ASP.NET 4 hosting&lt;/a&gt;, and I had a fresh install of Windows 7 without the typical cruft that comes with our environment. So I wanted to show how quick booting off of a SSD is. There are two pieces of hardware EVERY developer must have - multiple monitors and a SSD. I've said it over and over again, I have never seen a single upgrade improve the performance of a PC more than my X-25M drive since I first saw what the Voodoo2 could do.&lt;br&gt;&lt;/p&gt;

&lt;p&gt;I took this video to show how quick the sucker is because until you have used it, you probably think I'm full of crap. But this sucker FLIES. My previous OS partition was running on a couple of 10,000 RPM drives running RAID 0, and there is simply no comparison. I skipped the BIOS and went right to the boot loader. It boots Windows 7, and then I dumped VS2010 Ultimate and Firefox 3.6 in my start up folder. I'm ready to rock and roll in 18 seconds.&lt;br&gt;&lt;/p&gt;

&lt;p&gt;
&lt;object width="400" height="252"&gt;
&lt;param name="movie" value="http://www.youtube.com/v/s5PI1u1z_OA&amp;amp;hl=en&amp;amp;fs=1&amp;amp;border=1"&gt;
&lt;param name="allowFullScreen" value="true"&gt;
&lt;param name="allowscriptaccess" value="always"&gt;
&lt;embed src="http://www.youtube.com/v/s5PI1u1z_OA&amp;amp;hl=en&amp;amp;fs=1&amp;amp;border=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="400" height="252"&gt;&lt;/object&gt;
&lt;/p&gt;

&lt;p&gt;Oh, and one more thing - this is a &lt;a href="http://blogs.technet.com/aviraj/archive/2009/01/18/windows-7-boot-from-vhd-first-impression-part-2.aspx" target="_blank" mce_href="http://blogs.technet.com/aviraj/archive/2009/01/18/windows-7-boot-from-vhd-first-impression-part-2.aspx"&gt;VHD hard drive that I'm booting off of&lt;/a&gt; so it's actually slightly slower than my typical install. I just didn't want to mess around with that on video due to all the logins and junk I gotta do by hand when logging onto our network.&lt;/p&gt;

&lt;p&gt;I know a bunch of people are waiting for the prices to go down, but don't! You may get it $100 cheaper a year from now, but this thing is well worth the extra $2 a week to have it right now. &lt;br&gt;&lt;/p&gt;
&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7248558" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/pscott/archive/tags/SSD/default.aspx">SSD</category><category domain="http://weblogs.asp.net/pscott/archive/tags/Windows+7/default.aspx">Windows 7</category><category domain="http://weblogs.asp.net/pscott/archive/tags/General+Software+Development/default.aspx">General Software Development</category><category domain="http://weblogs.asp.net/pscott/archive/tags/Visual+Studio/default.aspx">Visual Studio</category></item><item><title>404 Errors with FileUpload with IIS7</title><link>http://weblogs.asp.net/pscott/archive/2009/02/26/404-errors-with-fileupload-with-iis7.aspx</link><pubDate>Thu, 26 Feb 2009 18:16:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:6929590</guid><dc:creator>Phil Scott</dc:creator><slash:comments>2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/pscott/rsscomments.aspx?PostID=6929590</wfw:commentRss><comments>http://weblogs.asp.net/pscott/archive/2009/02/26/404-errors-with-fileupload-with-iis7.aspx#comments</comments><description>&lt;p&gt;I was getting some 404 errors while using the FileUpload control. I tested it out on my local machine and&amp;nbsp; using&lt;/p&gt;&lt;p&gt;&amp;lt;system.web&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;httpRuntime maxRequestLength="256000"/&amp;gt; &amp;lt;!-- request length is in kilobytes --&amp;gt;&lt;br&gt;&amp;lt;/system.web&amp;gt;&lt;/p&gt;&lt;p&gt;worked fine. But once I moved it onto IIS7 everything started freaking out. Turns out IIS7 look for a different setting:&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;system.webServer&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;security&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;requestFiltering&amp;gt;&amp;lt;requestLimits maxAllowedContentLength="262144000" /&amp;gt;&amp;lt;/requestFiltering&amp;gt; &amp;lt;!-- maxAllowedContentLength is in bytes. Defaults to 30,000,000 --&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/security&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/system.webServer&amp;gt;&lt;/p&gt;&lt;p&gt;My searches really only directed me to modifying the system.web, so hopefully this will help someone out.&lt;br&gt;&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=6929590" width="1" height="1"&gt;</description></item><item><title>Watch Out for Request.Browser.MajorVersion in ASP.NET 2.0</title><link>http://weblogs.asp.net/pscott/archive/2005/12/07/432567.aspx</link><pubDate>Wed, 07 Dec 2005 15:01:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:432567</guid><dc:creator>Phil Scott</dc:creator><slash:comments>2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/pscott/rsscomments.aspx?PostID=432567</wfw:commentRss><comments>http://weblogs.asp.net/pscott/archive/2005/12/07/432567.aspx#comments</comments><description>&lt;p&gt;I awoke to 1500 exceptions published to me this morning from our public site running ASP.NET 2.0.&amp;nbsp; Not good times.&amp;nbsp; "Luckily" they were all the same: Value cannot be null.&amp;nbsp; It seems one of the components that we are using is calling Request.Browser.MajorVersion and blowing up on goofy user-agents.&amp;nbsp; In this case the user-agent of doom is "YahooSeeker/1.2 (compatible; Mozilla 4.0; MSIE 5.5; yahooseeker at yahoo-inc dot com ; http://help.yahoo.com/help/us/shop/merchant/)".&amp;nbsp; For whatever reason ASP.NET 2.0 cannot parse the MajorVersion out of that and tries to call int.Parse on a null value, causing an error.&lt;/p&gt; &lt;p&gt;Luckily we own the source code to this particular component, so I just wrapped the calls to MajorVersion in a try block so that the entire site doesn't blow up on bogus error codes, so hopefully if you run into that particular error you'll be able to track it down.&amp;nbsp; I haven't tried any of the other properties of the Browser class, but if you are relying on them for anything you might want to first test them out with a rediculous user agent and see what blows up.&amp;nbsp; &lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=432567" width="1" height="1"&gt;</description></item><item><title>Installing Ubuntu on Virtual PC 2004</title><link>http://weblogs.asp.net/pscott/archive/2005/10/13/427426.aspx</link><pubDate>Thu, 13 Oct 2005 23:08:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:427426</guid><dc:creator>Phil Scott</dc:creator><slash:comments>29</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/pscott/rsscomments.aspx?PostID=427426</wfw:commentRss><comments>http://weblogs.asp.net/pscott/archive/2005/10/13/427426.aspx#comments</comments><description>&lt;p&gt;I decided to give &lt;a href="http://www.ubuntu.com/"&gt;Ubuntu&lt;/a&gt; a try in Virtual PC to see how this distro works.&amp;nbsp; So far, I'm pretty damn impressed.&amp;nbsp; But getting it up and running in a Virtual PC wasn't quite as obvious as I hoped it would be.&amp;nbsp; Here are the steps if anyone else wants to try out this distro.&amp;nbsp; I basically just went through a default install, and when the thing booted up it freaked out on the display.&amp;nbsp; This is actually quite common with Linux distros that I've tried in Virtual PC.&amp;nbsp; Keep in mind, I'm not even too terribly sure how to pronounce Linux, so I just kinda faked my way through the steps.&amp;nbsp; You might know a really cool way to do some of these steps, and that would be great if you let me know&lt;/p&gt;&lt;p&gt;So after booting up in messed up graphics land, I was able to click the giant ass Reboot button on my 160x120 screen.&amp;nbsp; When it was rebooting, I hit ESC during Grub and booted into the recovery console.&amp;nbsp; This gave me root access (is this secure?&amp;nbsp; Sure as hell didn't seem like it to me...).&amp;nbsp; Once I was in there, I found the configuration file for the graphics card in /etc/X11.&amp;nbsp; Sso type in cd /etc/X11, although I certainly hope even the most harden of MScentric people can figure that out :).&amp;nbsp; Once in there I opened up xorg.conf using pico (so type in pico xorg.conf - isn't this fun?).&amp;nbsp; Browse down to the screen section.&amp;nbsp; Opps, looks like the defaultDepth property is 24, which VirtualPC doesn't support.&amp;nbsp; I changed this to 16 and hit CTRL-X to exit (saving when prompted of course).&amp;nbsp; Typed in reboot and awaaaaaaay we go.&lt;/p&gt;&lt;p&gt;Once I was logged in, I wasn't able to hit the internet but this was an easy enough fix.&amp;nbsp; Just go to System | Networking and enable the Ethernet connection.&amp;nbsp; At this point I was good to go.&amp;nbsp; I don't think I have sound yet, but I really could care less.&amp;nbsp; But if a wise soul would like to enlighten me, I wouldn't mind either.&lt;br /&gt; &lt;/p&gt;&lt;p&gt;So there we go.&amp;nbsp; I'm impressed with how easy this was to get up and running (besides virtual pc graphics snafu), and it looks great too.&amp;nbsp; I'm tempted to throw this on my laptop that I keep in my living room just because so many people use it.&amp;nbsp; You'd be surprised what my friend's girlfriends manage to install while we are watching football.&amp;nbsp; Stupid yahoo games.&amp;nbsp; But I digress.&amp;nbsp; So why all this trouble to post this on an ASP.NET site?&amp;nbsp; I've been tagged with doing a lot of the design work for my companies new site, and well, the old version didn't exactly work in Linux, i.e. the menus and some content doesn't show up at all.&amp;nbsp; Remember folks, Verdana isn't installed on everyone's PC.&amp;nbsp; It looks like the default sans-serif font is pushing some of the content around, which was dumb of me not to anticipate, so I'll have to fix this.&amp;nbsp; Good times.&amp;nbsp; Good times.&lt;br /&gt; &lt;/p&gt; &lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=427426" width="1" height="1"&gt;</description></item><item><title>Accessing the Html Header in ASP.NET 2.0</title><link>http://weblogs.asp.net/pscott/archive/2005/08/30/424039.aspx</link><pubDate>Tue, 30 Aug 2005 16:01:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:424039</guid><dc:creator>Phil Scott</dc:creator><slash:comments>22</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/pscott/rsscomments.aspx?PostID=424039</wfw:commentRss><comments>http://weblogs.asp.net/pscott/archive/2005/08/30/424039.aspx#comments</comments><description>&lt;p&gt;I feel a bit silly for not figuring this out quicker, so hopefully I can redem myself by posting this to help people out.&amp;nbsp; Taking a look at the Page class there is a Header property that looks tempting to be able to do something like dynamically add a stylesheet.&amp;nbsp; The problem is that when you type in Page.Header it doesn't appear that you have full control over the header, even though there is the ever so tempting System.Web.UI.HtmlControls.HtmlHead class.&amp;nbsp; What I had been doing is throwing an id and a runat="server" onto the head tag in my HTML, which I really didn't like because an id tag on the head tag isn't valid XHTML 1.1.&amp;nbsp; &lt;/p&gt;&lt;p&gt;Today, a break through.&amp;nbsp; This has always bothered me, so I took a deeper look and it turns out that Page.Header is defined as IPageHeader.&amp;nbsp; Perhaps, just maybe I could cast Page.Header into System.Web.UI.HtmlControls.HtmlHead.&amp;nbsp; And sure enough, it worked great.&amp;nbsp; Anyways, I feel a little silly about not figuring that out sooner but now that I've gotten this working I feel much better.&amp;nbsp; Anyways, here's some example code to add a stylesheet to a page:&lt;/p&gt;&lt;p style="font-family: Lucida Console,Courier New; font-size: 12px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim header As Web.UI.HtmlControls.HtmlHead&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; header = TryCast(Me.Page.Header, Web.UI.HtmlControls.HtmlHead)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If header IsNot Nothing Then&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; Dim link As New HtmlLink&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; link.Attributes.Add("href", "~/whatever.css")&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; link.Attributes.Add("media", "screen")&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; link.Attributes.Add("rel", "stylesheet")&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; link.Attributes.Add("type", "text/css")&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; header.Controls.Add(link)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End If&lt;/p&gt; &lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=424039" width="1" height="1"&gt;</description></item><item><title>The Curious Incident of the App_Offline.htm in your ASP.NET 2.0 App</title><link>http://weblogs.asp.net/pscott/archive/2005/07/27/420727.aspx</link><pubDate>Wed, 27 Jul 2005 15:22:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:420727</guid><dc:creator>Phil Scott</dc:creator><slash:comments>4</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/pscott/rsscomments.aspx?PostID=420727</wfw:commentRss><comments>http://weblogs.asp.net/pscott/archive/2005/07/27/420727.aspx#comments</comments><description>&lt;p&gt;I've gotten more than three issues sent to me recently regarding why an ASP.NET 2.0 app suddenly starts throwing up 404 errors, and each time there is a single culprit: app_offline.htm.  I'd point towards some documentation, but honestly I just can't find any out there, so hopefully this will help people figure out what is going on.  When ASP.NET 2.0 sees this file, it basically shuts down the process.  This is useful if you need to over write a MDB file for example.   &lt;/p&gt;&lt;p&gt;Strangely, each time I've encountered "issues" with 404 errors being thrown by applications when the file exists, this file exists and the customer doesn't know how it got there.  I'm not sure if they were just going through some demos and missed a step or something, or perhaps something in VS2005 or Web Dev Express is creating the file automatically.  Perhaps one of the publishing tools sends the file up, and fails to clean it up.  So there you go.  Hopefully this helps someone out there figure out why they are suddenly getting 404 errors on pages that exists, or maybe it helps people manage deployments easier by using app_offline.htm for what it was designed for.&lt;/p&gt; &lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=420727" width="1" height="1"&gt;</description></item><item><title>Deploying the ASP.NET 2.0 Personal Site Starterkit</title><link>http://weblogs.asp.net/pscott/archive/2005/06/30/416810.aspx</link><pubDate>Thu, 30 Jun 2005 15:36:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:416810</guid><dc:creator>Phil Scott</dc:creator><slash:comments>3</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/pscott/rsscomments.aspx?PostID=416810</wfw:commentRss><comments>http://weblogs.asp.net/pscott/archive/2005/06/30/416810.aspx#comments</comments><description>&lt;p&gt;I've seen quite a few questions regarding how to deploy the Personal Site Starter Kit to a hosting account, so I thought I'd write up some guidelines on how to do this.&amp;nbsp; These directions have really only been tested with the &lt;a href="http://www.maximumaspbeta.com/"&gt;MaximumASP's free beta account&lt;/a&gt;, but they should work with any of the other providers assuming they give you some type of SQL Server as the backend.&lt;/p&gt;&lt;p&gt;The main problem with deploying the Personal Site Starter Kit is that by default it assumes that 1) you have SQL Express running on the webserver and 2) you are using the configuration settings provided in machine.config for the membership / role providers.&amp;nbsp; Unfortunately, SQL Express is simply not meant to be ran on shared webservers, so obviously we are not going to be able to use this as our backend.&amp;nbsp; Luckily, Microsoft has recently released some generic scripts for creating the database for the Personal Site Starter Kit, so we can use those to create the tables needed on our SQL 2000 database.&lt;/p&gt;&lt;p&gt;Step one is going to be creating the support tables for the membership / role providers.&amp;nbsp; The .NET Framework SDK includes a tool called aspnet_regsql that will create the tables / sprocs needed.&amp;nbsp; On my machine it is located at C:\WINDOWS\Microsoft.NET\Framework\v2.0.50215\aspnet_regsql.exe.&amp;nbsp; Run this program and it pops up a wizard to create the tables.&amp;nbsp; Choose "Configure SQL Server for Application Services", and click next.&amp;nbsp; We are now presented with a dialog asking for your login information.&amp;nbsp; Enter your SQL Server credientials and choose your database.&amp;nbsp; Note: you may get an error on the drop down.&amp;nbsp; That's fine, just type the database name in instead.&amp;nbsp; Finish running the wizard and you should have a bunch of shiny new aspnet_ tables in your database.&lt;/p&gt;&lt;p&gt;Step two is getting the Personal Web Site Starter kit or the Club Site Starter Kit generic sql scripts.&amp;nbsp; The &lt;a href="http://www.asp.net/vwd/starterkits.aspx?tabIndex=4&amp;amp;tabId=46"&gt;ASP.NET Starter Kit page&lt;/a&gt; has links for both of these files.&amp;nbsp; Download these files, and extract the .SQL file.&amp;nbsp; Now it's just a matter of opening up Query Analyzer or SQL Express Manager, connecting into your database and executing the script. &lt;/p&gt;&lt;p&gt;Now that we have the database ready, it's just a matter of updating web.config to point towards the proper database.&amp;nbsp; There should be two connection strings, Personal and LocalSqlServer.&amp;nbsp; Update both of these to point towards your database. You can now connect into your site via the ASP.NET Configuration page to create yourself an admin user, or if you just want to see if it worked, fire up the website.&amp;nbsp; Feel free to delete the MDF files in your app_data folder.&amp;nbsp; We don't need them anymore.&lt;br /&gt; &lt;/p&gt;&lt;p&gt;Now, for a little rant.&amp;nbsp; Yes, we are now using a connection string called LocalSqlServer to connect into a remote sql server.&amp;nbsp; And some might wonder why we had to remove a connection string that doesn't look like it had been defined yet.&amp;nbsp; And who knows how the providers are configured.&amp;nbsp; Here's the secret:&amp;nbsp; To make things "easier," Microsoft has created a default Connection String and Providers in machine.config.&amp;nbsp; I would &lt;strong&gt;highly&lt;/strong&gt; recommend not using these at all costs in your application.&amp;nbsp; They are there simply for people who want to go "hey, i just created a website in three steps!"&amp;nbsp; Relying on those default providers will simply make development, maintence and deployment a pain in the butt (who knows if your host will even have those entries in their machine.config, or that they have the same values that you are using on your server).&amp;nbsp; If left up to me, Microsoft would not include these entries in machine.config and assume people will configure their membership / role providers on an application basis, not on a machine wide basis.&amp;nbsp; Makes sense to me.&lt;/p&gt;&lt;p&gt;So, my long running, rambling point:&amp;nbsp; Take some time to look at the documentation for the providers.&amp;nbsp; Heck, look at your machine.config.&amp;nbsp; Copy and paste the membership configuration stuff into your web.config.&amp;nbsp; And &lt;strong&gt;never, ever, ever&lt;/strong&gt; for any reason rely on localSqlServer or the default providers from your machine.config in your applications.&amp;nbsp; That will only cause you headaches down the road when it comes time to deploy, plus prevent you from learning how these things are configured.&lt;br /&gt; &lt;/p&gt; &lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=416810" width="1" height="1"&gt;</description></item><item><title>Premature Jubilation  </title><link>http://weblogs.asp.net/pscott/archive/2005/04/26/404566.aspx</link><pubDate>Tue, 26 Apr 2005 19:12:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:404566</guid><dc:creator>Phil Scott</dc:creator><slash:comments>2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/pscott/rsscomments.aspx?PostID=404566</wfw:commentRss><comments>http://weblogs.asp.net/pscott/archive/2005/04/26/404566.aspx#comments</comments><description>&lt;a id="Comments.ascx_CommentList__ctl0_NameLink" href="http://www.sturmnet.org/blog" target="_blank"&gt;Oliver Sturm&lt;/a&gt; sent along a couple of links to his blog where he's taken a much &lt;a href="http://www.sturmnet.org/blog/archives/2005/04/21/vs2005-imagelib/"&gt;deeper look&lt;/a&gt; than my "oooooooh, pretty!" reception to the new image library that is shipping with VS2005.&amp;nbsp; And after taking a deeper look at these images, I've come to the same conclusion:&amp;nbsp; ugh.&lt;br /&gt; &lt;br /&gt; Like Oliver said, if you want an app that looks good (or aren't creating VS2005), then you might want to venture over to &lt;a href="http://www.glyfx.com/"&gt;glyFX&lt;/a&gt; or my favorite &lt;a href="http://www.glyfz.com/"&gt;Glyfz&lt;/a&gt;.&amp;nbsp; It looks like Glyfz is even offering their alpha-blended PNG images for free when you buy the &lt;a href="http://www.glyfz.com/glyfz2003.htm"&gt;Office 2003 style image set&lt;/a&gt;.&amp;nbsp; That's a deal in a half.&amp;nbsp; Now all I need is an excuse to throw away our UI to get my boss to buy the set...&lt;br /&gt; &lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=404566" width="1" height="1"&gt;</description></item><item><title>New Graphics with VS 2005</title><link>http://weblogs.asp.net/pscott/archive/2005/04/26/404551.aspx</link><pubDate>Tue, 26 Apr 2005 17:46:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:404551</guid><dc:creator>Phil Scott</dc:creator><slash:comments>4</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/pscott/rsscomments.aspx?PostID=404551</wfw:commentRss><comments>http://weblogs.asp.net/pscott/archive/2005/04/26/404551.aspx#comments</comments><description>Holy crap, just found these things in my Visual Studio 8\Common7\VS2005ImageLibrary folder.&amp;nbsp; In there you will find a zip file with about 800 images to use in your apps.&amp;nbsp; Unfortunately these all look to be 16x15 in bitmap format and not png or gif for the web, but hey, it's a start.&amp;nbsp; This is something I've been &lt;A href="http://weblogs.asp.net/pscott/archive/2003/12/03/41040.aspx"&gt;complaining&lt;/a&gt; about for years.&amp;nbsp; Should be great for winform toolbars, but not so useful for the web.&lt;br /&gt; &lt;br /&gt; No new icons though.&amp;nbsp; It looks like giving applications the rocket ship icon will still trendy.&lt;br /&gt; &lt;br /&gt; Post Script:&amp;nbsp; As I finished typing this up, &lt;a href="http://msdn.microsoft.com/msdntv/episode.aspx?xml=episodes/en/20050331VSTUDIOAB/manifest.xml"&gt;this movie&lt;/a&gt; popped up in my RSS reader as an introduction to the VS 2005 Image Library.&amp;nbsp; Sweet!&lt;br /&gt; &lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=404551" width="1" height="1"&gt;</description></item><item><title>Validating XHTML with ASP.NET 2.0</title><link>http://weblogs.asp.net/pscott/archive/2005/04/21/403716.aspx</link><pubDate>Thu, 21 Apr 2005 16:28:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:403716</guid><dc:creator>Phil Scott</dc:creator><slash:comments>5</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/pscott/rsscomments.aspx?PostID=403716</wfw:commentRss><comments>http://weblogs.asp.net/pscott/archive/2005/04/21/403716.aspx#comments</comments><description>&lt;p&gt;With the go-live of ASP.NET 2.0, I've been actually using it at a level of more than "ooh, pretty new feature." I'm kinda of a standards nerd, so naturally I've been messing around with the XHTML output and making sure I like what I'm seeing.&amp;nbsp; So far, so good. But I ran my page against the &lt;a href="http://validator.w3.org/"&gt;W3C's validator&lt;/a&gt;&amp;nbsp;and it freaked out, complaining about form tags having names and the such. So I take a look at the source, and it looks good to me. So I go back to the validator, and run it one more time, this time enabling "Show Source." Ah, there's the problem. ASP.NET thinks that the validator is some ghetto browser from 1996 so it is sending it invalid markup.&lt;/p&gt; &lt;p&gt;The fix was pretty easy once I tracked it down. Simply update the browseCaps section of your web.config to tell ASP.NET about the W3C's user-agent. Here's the code I'm using:&lt;/p&gt; &lt;p&gt;&amp;lt;case match="W3C_Validator+"&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; browser=Netscape&lt;br /&gt;&amp;nbsp;&amp;nbsp; frames=true&lt;br /&gt;&amp;nbsp;&amp;nbsp; tables=true&lt;br /&gt;&amp;nbsp;&amp;nbsp; cookies=true&lt;br /&gt;&amp;nbsp;&amp;nbsp; javascript=true&lt;br /&gt;&amp;nbsp;&amp;nbsp; javaapplets=true&lt;br /&gt;&amp;nbsp;&amp;nbsp; ecmascriptversion=1.5&lt;br /&gt;&amp;nbsp;&amp;nbsp; w3cdomversion=1.0&lt;br /&gt;&amp;nbsp;&amp;nbsp; css1=true&lt;br /&gt;&amp;nbsp;&amp;nbsp; css2=true&lt;br /&gt;&amp;nbsp;&amp;nbsp; xml=true&lt;br /&gt;&amp;nbsp;&amp;nbsp; tagwriter=System.Web.UI.HtmlTextWriter&lt;br /&gt;&amp;lt;/case&amp;gt;&lt;browsercaps&gt;&lt;/p&gt; &lt;p&gt;Now when you validate your page, ASP.NET will send out the same HTML as it would if Firefox or IE were requesting the page. Now what I'd really like to do is tell ASP.NET to shove it, and spit out XHTML on unknown browsers. Anyone have any ideas?&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=403716" width="1" height="1"&gt;</description></item><item><title>Bug or Not?</title><link>http://weblogs.asp.net/pscott/archive/2005/02/02/365677.aspx</link><pubDate>Wed, 02 Feb 2005 19:34:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:365677</guid><dc:creator>Phil Scott</dc:creator><slash:comments>2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/pscott/rsscomments.aspx?PostID=365677</wfw:commentRss><comments>http://weblogs.asp.net/pscott/archive/2005/02/02/365677.aspx#comments</comments><description>Hmmm, I forget how the box model is supposed to do things in CSS, but this seems a little off to me.&amp;nbsp; What I had was a div tag with a width of 500px.&amp;nbsp; Within that I have a nested div with a margin of 25px.&amp;nbsp; I WAS trying to avoid having to do a box model hack to make sure things look OK in IE 5.x.&amp;nbsp; &lt;br /&gt; &lt;br /&gt; So everything is hunky dory until I take this layout and put it into a masterpage in VS2005.&amp;nbsp; I drop the ContentPlaceHolder and suddenly my 500px div is 550px large.&amp;nbsp; It seems VS2005 is trying to figure out how wide to make the ContentPlaceHolder "container," and forgetting about the margins (or padding (or borders)).&amp;nbsp; This also happens when you have a panel or anything else set to a width of 100%.&amp;nbsp; So it is just pushing it wider.&amp;nbsp; And since I'm using floats to do the layout, in VS2005 it is pushing my sidebar down because it is too wide to fit into the container.&amp;nbsp; IE 6.0 and Firefox seem to be getting this "right," but honestly I'm not too sure when Firefox is immulating bugs in IE or when IE is in compliance mode anymore.&lt;br /&gt; &lt;br /&gt; I'm leaning towards bug.&amp;nbsp; If anyone is curious, here's the fancy code that is screwing stuff up:&lt;br /&gt; &lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;font face="Courier New" size="2"&gt;&amp;lt;div style="width: 500px"&amp;gt;&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;div style="padding: 25px; background-color: Orange; border: solid 1px black"&amp;gt;&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;asp:Panel runat="server" ID="test" style="width:100%"&amp;gt;&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; jyeretjetjetj&amp;lt;/asp:Panel&amp;gt;&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/div&amp;gt;&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/div&amp;gt;&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;div style="width: 500px; border: solid 1px black"&amp;gt;&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; another 500px div&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/div&amp;gt;&lt;/font&gt;&lt;br /&gt; &lt;br /&gt; Take out the panel and just put normal text (or even just a div with width=100%) and it displays fine.&lt;br /&gt; &lt;br /&gt; So, bug or not?&lt;br /&gt; &lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=365677" width="1" height="1"&gt;</description></item><item><title>Funny places you see ASP.NET</title><link>http://weblogs.asp.net/pscott/archive/2005/01/06/347840.aspx</link><pubDate>Thu, 06 Jan 2005 19:23:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:347840</guid><dc:creator>Phil Scott</dc:creator><slash:comments>4</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/pscott/rsscomments.aspx?PostID=347840</wfw:commentRss><comments>http://weblogs.asp.net/pscott/archive/2005/01/06/347840.aspx#comments</comments><description>&lt;p&gt;Even though ASP.NET has been out for quite some time, it still tickles me to see sites with an aspx extension.&amp;nbsp; I recently checked out one of my favorite bar's site, &lt;a href="http://www.osheaslouisville.com/"&gt;O'Shea's Irish Pub&lt;/a&gt; here in Louisville, and was surprised to see it was running ASP.NET on Windows 2003.&amp;nbsp; &lt;/p&gt; &lt;p&gt;I know a lot of people are running ASP.NET, but it just doesnt' seem to have the penetration on the smaller sites.&amp;nbsp; Maybe now that more and more people are getting a hold of it, we'll start seeing more sites using it just because it is just that easy to put together a nice, easy to maintain site.&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=347840" width="1" height="1"&gt;</description></item><item><title>Want to get rid of spyware?  Install this ActiveX control when prompted!</title><link>http://weblogs.asp.net/pscott/archive/2005/01/06/347741.aspx</link><pubDate>Thu, 06 Jan 2005 16:32:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:347741</guid><dc:creator>Phil Scott</dc:creator><slash:comments>3</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/pscott/rsscomments.aspx?PostID=347741</wfw:commentRss><comments>http://weblogs.asp.net/pscott/archive/2005/01/06/347741.aspx#comments</comments><description>I'm sure you've seen the new &lt;a href="http://www.microsoft.com/athome/security/spyware/software/default.mspx"&gt;Anti-Spyware tool from Microsoft&lt;/a&gt;, so I'll spare you the elevator pitch.&lt;br /&gt; &lt;br /&gt; What I want to know is what brainiac decided that to install the thing you might want to either install an ActiveX control, or download an EXE file an execute it to continue? Um, isn't this crap the reason 99.9999% spyware gets installed?&amp;nbsp; Shouldn't that type of behavior be discouraged?&amp;nbsp; I was hoping that when I clicked next I'd get a screen saying "YOU FOOL!&amp;nbsp; You could have just installed something that is reporting your bank password to some crazy guy in Canada!&amp;nbsp; Don't do that crap, and maybe you wouldn't need to install this tool, moron."&amp;nbsp; But no, it actually popped up a file for me to execute (I'm running Firefox, I assume it would be an ActiveX control for IE).&amp;nbsp; FANtastic.&amp;nbsp; &lt;br /&gt; &lt;br /&gt; &amp;nbsp;Thankfully, you can skip that step and just download the thing.&amp;nbsp; The irony of this product just gets deeper and deeper.&amp;nbsp;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=347741" width="1" height="1"&gt;</description></item><item><title>Ben Lowery's HttpCompressionModule and Excluding Paths</title><link>http://weblogs.asp.net/pscott/archive/2004/11/17/258845.aspx</link><pubDate>Wed, 17 Nov 2004 14:43:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:258845</guid><dc:creator>Phil Scott</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/pscott/rsscomments.aspx?PostID=258845</wfw:commentRss><comments>http://weblogs.asp.net/pscott/archive/2004/11/17/258845.aspx#comments</comments><description>&lt;p&gt;We've had a lot of success using Ben Lowery's &lt;a href="http://www.blowery.org/code/HttpCompressionModule.html"&gt;HttpCompression module&lt;/a&gt; in regards to cutting down our&amp;nbsp;bandwidth on text intensive pages.&amp;nbsp; The only problem we've had with using the compression module&amp;nbsp;has been with existing pages that were using Response.Flush (it would throw up the "Server cannot append header after HTTP headers have been sent" exception) .&amp;nbsp; Well, no problem, right?&amp;nbsp; Ben's excellent module supports the ability to exclude paths in web.config.&amp;nbsp; And this solution works great on our test machines.&amp;nbsp; The problem was that when we went live, everything broke in regards to excluding paths.&amp;nbsp; It would start throwing the "Server cannot append header after HTTP headers have been sent" all over again.&lt;/p&gt; &lt;p&gt;After sitting down and tracking down what we thought could be causing the exception, it really came down to our live site being in the root of the web, and during testing it would be in a subfolder of some sort.&amp;nbsp; Digging into the code we found the root of the evil:&lt;/p&gt; &lt;div style="BORDER-RIGHT: black 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: black 1px solid; PADDING-LEFT: 5px; PADDING-BOTTOM: 5px; BORDER-LEFT: black 1px solid; PADDING-TOP: 5px; BORDER-BOTTOM: black 1px solid; BACKGROUND-COLOR: #f1f1f1"&gt;string realPath = app.Request.Path.Remove(0, app.Request.ApplicationPath.Length+1);&lt;br /&gt;if(settings.IsExcludedPath(realPath)){&lt;br /&gt;&amp;nbsp;&amp;nbsp; // skip if the file path excludes compression&lt;br /&gt;&amp;nbsp;&amp;nbsp; return;&lt;br /&gt;}&lt;/div&gt; &lt;p&gt;Opps, Request.ApplicationPath is going to be "\" in the root folder, but it would be something like "SubFolder" on our test machines. &lt;A href="http://weblogs.asp.net/dneimke"&gt;Darren Neimke&lt;/a&gt; has a good &lt;A href="http://weblogs.asp.net/dneimke/archive/2004/05/17/133116.aspx"&gt;write up&amp;nbsp;on the subject&lt;/a&gt;.&amp;nbsp; Anyways, ripping out ApplicationPath.Length + 1 characters isn't going to work in our case. So a quick update and the problem was solved:&lt;/p&gt; &lt;div style="BORDER-RIGHT: black 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: black 1px solid; PADDING-LEFT: 5px; PADDING-BOTTOM: 5px; BORDER-LEFT: black 1px solid; PADDING-TOP: 5px; BORDER-BOTTOM: black 1px solid; BACKGROUND-COLOR: #f1f1f1"&gt;string realPath = app.Request.Path;&lt;br /&gt;// if the length is only one character then we are at the root of the web and applicationPath &lt;br /&gt;// has returned "\"&amp;nbsp; Otherwise, rip out the ApplicationPath&lt;br /&gt;if (app.Request.ApplicationPath.Length &amp;gt; 1)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; realPath = realPath.Remove(0, app.Request.ApplicationPath.Length+1);&lt;br /&gt;else&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;realPath = realPath.Remove(0,1);&lt;br /&gt;&lt;br /&gt;if(settings.IsExcludedPath(realPath)){&lt;br /&gt;&amp;nbsp;&amp;nbsp; // skip if the file path excludes compression&lt;br /&gt;&amp;nbsp;&amp;nbsp; return;&lt;br /&gt;}&lt;/div&gt; &lt;p&gt;Hopefully this helps those of you that have seen this exception popup. Oh, and a special shout out to Ben for making a great module, and including the source too.&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=258845" width="1" height="1"&gt;</description></item><item><title>Firefox 1.0 Released</title><link>http://weblogs.asp.net/pscott/archive/2004/11/09/254433.aspx</link><pubDate>Tue, 09 Nov 2004 14:53:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:254433</guid><dc:creator>Phil Scott</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/pscott/rsscomments.aspx?PostID=254433</wfw:commentRss><comments>http://weblogs.asp.net/pscott/archive/2004/11/09/254433.aspx#comments</comments><description>&lt;p&gt;&lt;a href="http://www.mozilla.org/products/firefox/"&gt;Firefox 1.0&lt;/a&gt; has been released today.&amp;nbsp; Good times.&amp;nbsp; Right now the link is being hammered, but some peeps at slashdot have posted &lt;a href="http://slashdot.org/comments.pl?sid=129027&amp;amp;cid=10764884"&gt;mirrors&lt;/a&gt;.&amp;nbsp; Btw, here's the &lt;a href="http://www.google.com/firefox"&gt;default homepage&lt;/a&gt;&amp;nbsp;when you install Firefox - hosted on google.com.&amp;nbsp; Interesting...&lt;/p&gt; &lt;p&gt;Personally, I've been using the &lt;a href="http://www.moox.ws/tech/mozilla/"&gt;moox builds&lt;/a&gt; of mozilla, which are the official Firefox builds, but compiled with&amp;nbsp; optimization flags that hopefully optimize the builds for your particular processor (e.g. the M3 build contain code optimized for SSE2 and the M2 build is optimized for SSE).&amp;nbsp; I feel it's a little snappier than the regular release and I've been quite happy with it.&amp;nbsp; The only downfall is that it doesn't include the snazzy installer that you get with the official releases.&amp;nbsp; Moox already has compiled the &lt;a href="http://www.moox.ws/tech/mozilla/releasebuilds.htm"&gt;optimized Firefox 1.0 bits&lt;/a&gt; and posted them on his site.&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=254433" width="1" height="1"&gt;</description></item></channel></rss>