Preface: For 2013, I’m planning to write more, and focus my attention on the Lessons Learned (LL) that come from 10 years of experience in software development. It should be more about a general attitude towards productivity rather than specific solutions. These posts will be easy to spot, as they will have a “LLxx” prefix. Hope you enjoy reading them 🙂
Ok, now on to the post…
Today I was faced with a challenge: something was not working with a Web project I was upgrading, and as sometimes happens, the error messages were not helpful at all. Trying to get to the bottom of this, it was time to fire up Fiddler and check the errors during the initialization (I was mostly interested in the 404s :)).
The thing is, for some reason Fiddler just wasn’t working with IIS Express 7.5. There are a lot of tricks available, some I knew from using it with Cassini (Web Dev Web Server) and others I found while Googling for a solution. But none of them worked, I was still unable to see the HTTP traffic.
I could go on and on trying to get Fiddler and IIS Express to work together. And, as developers are wont to do, trying to get all these tools to function perfectly in the development machine. However, let’s not forget the main pirority: the Web project must work again, the deadlines must be met and there are other people waiting for it.
The solution was found quickly and it was so, so simple… I already had an IIS virtual directory for the same module, which was installed by the product setup. It was simply a matter of redirecting the virtual directory path to the development output folder, and then fix, build, fix, build and so on… Fiddler was intercepting the HTTP requests/responses perfectly.
So, there it is: Lesson Learned #1 – What matters is the task at hand, not the tools in use. And if they fail to cooperate, there’s nothing wrong with “bending” them a little and make them work to your advantage.