It happens eventually to all web developers. It’s happened to me twice in the last week. You make one simple change to your web site and then you can no longer access it. When you browse to it in IE you get some completely useless “We can’t access the page you are looking for” error. In FireFox, it at least tells you that you have a “Redirect Loop” and in IE6, if you are fortunate enough to still be writing for that browser, you can see that it is blinking at you as it tries to retrieve the page(s) multiple times. But how do you know what’s redirecting to what?
For that matter, other than running a browser that told you, how would you even know it was a 302 error?
I know I’ve mentioned this before but it’s definitely worth repeating. Get yourself a copy of Fiddler. Fiddler is a proxy that runs on local host. By default when you run it, it automatically installs itself as a proxy in IE so you really don’t have to know much more than how to install software to get up and running with it.
When you access a web site with it, it will tell you everything that is going on. What headers are being sent. What headers are coming back from the server. Files that are being requested. Status codes that are coming back.
Any time I have a client-side problem with my web sites, or any time I have a problem with my web sites that I can’t explain from the server side, I reach for Fiddler. More often than not, it tells me or at least guides me to what the real problem is.
For example, last week I was given the task of creating a 301 redirect from one domain to another. I thought I had the code written correctly to do this, but when we went to access the domain it went into an infinite loop. Obviously something was wrong, but what?
When I ran similar code on other domains it worked correctly.
When I ran Fiddler, I found that the page was redirecting to itself multiple times. Odd. What would make it do that?
So back to my code, where I quickly discovered that I had left out a character in my replace function so that domain A was never being rewritten to domain B so domain A was constantly redirecting to itself.
This morning’s error was a little more fun. My designer was trying to install a module into DotNetNuke last night when the site suddenly “stopped working.”
Same deal. Only this time it is because there is some module that is redirecting from the home page to another page and then that other page is redirecting back to the home page.
Again, I would have never been able to track this down if I hadn’t had Fiddler to help me.
Other post in ASP.NET
- ASP.NET GridView Edit All Rows At Once - October 30th, 2007
- Validating A WebForms Checkbox . . . - January 4th, 2008
- ListView and the DataPager - January 7th, 2008
- The case of the disappearing session variables - January 14th, 2008
- Storing a DataRow into a Session (server) variable - January 15th, 2008
- The point of a multi layer architecture - January 31st, 2008
- FormView Edit and Add - May 12th, 2008
- Virtual Files using HttpContext.RewritePath() - July 17th, 2008
- ASP.NET AJAX using JSON - Here's how. - August 4th, 2008
- SystemException: The trust relationship between the primary domain and the trusted domain failed - November 18th, 2008
- GridViews - Multiple Rows Per Record - December 17th, 2008
- Response.Redirect() executes too soon on the Server. - January 27th, 2009
- Tab Control ActiveTabIndex Lost on Postback - February 25th, 2009
- ASP.NET Application_Error Detecting 404's - March 2nd, 2009
- Infinite 302 Loop - How would you even know? - March 11th, 2009
- Unable to find connection...for object web.config - March 18th, 2009
- Dynamically Change class Attribute From ASP.NET - September 29th, 2009
- HttpContext.Items vs Session - October 12th, 2009
- Access a control by ID From Within a Databound Control - November 2nd, 2009
- GridView and Updating A Row Manually - November 4th, 2009
- Embedding Google Search Appliance Results in ASP.NET - November 5th, 2009
- ASP.NET Cross Domain Form Submission - November 11th, 2009
- ASP.NET Interview Questions For New College Graduates - November 12th, 2009
- ASP.NET Dynamic Validator - November 16th, 2009
- The Google Appliance and Forms Authentication - August 4th, 2010
- Prevent Postback on Buttons - October 11th, 2010
- Azure CDN Blob Storage Case Sensitive Issue - April 17th, 2012
- ASP.NET JSON and ViewState - September 25th, 2012
- Panel DefaultButton does not work - December 25th, 2012
- Why CSS ID selectors are Evil in ASP.NET Web Forms - February 26th, 2013
- Sorting the ListView in ASP.NET - March 5th, 2013
- Multi-Step Processing in ASP.NET - May 8th, 2013
- ASP.NET Web Design Software - May 15th, 2013
- Test Sending Email without a Server in ASP.NET - June 5th, 2013
- Tracking Down Performance Issues in ASP.NET - July 24th, 2013
- Unrecognized Tag Prefix or Device Filter ‘asp’ - July 31st, 2013
- WebServices – Error Handling - December 11th, 2013
- Converting a DataList to a ListView - December 25th, 2013
- What’s the Truth about Running ASP.NET WEBAPI Asynchronously? - November 15th, 2016