Twitter About Home

Speeding up communication between Firefox and Visual Studio’s built-in web server

image Has anyone else noticed that, during development, if you use Firefox to browse a site hosted in Visual Studio 2005/2008’s built-in web server (WebDev.WebServer.Exe), it’s really, just, so, excruciatingly … slow?

Published Nov 7, 2008

Oh it’s fine if you use Internet Explorer. Or Chrome for that matter. But every request issued from Firefox to WebDev.WebServer.Exe seems to have about a full second of lag added. If your pages host multiple images and CSS files, it’s intolerable.

It works on your machine

What’s that you say – you haven’t experienced this problem? Lucky you! I’ve asked other developers about this, and they all claim it’s fine on their machine too. And a quick Google search doesn’t turn up any other reports of the issue.

But I’ve had four different physical development PCs in the last couple of years, running three major different OS versions, two major different versions of Visual Studio and two major different versions of Firefox, and still have been wading through treacle every single time! Firefox is way faster communicating with servers on the other side of the planet than with this particular web server hosted on the same PC. What gives?

The conspiracy theorist in me even wondered if some evil person in Microsoft had hard-coded this behaviour into VS, intending to discourage web developers from working exclusively in Firefox. I confess I even changed my Firefox UserAgent string to match MSIE, but that didn’t help.

The solution

Finally! It turns out to be something to do with IPv6. I don’t know whether the problem is in Firefox or in WebDev.WebServer.Exe, but disabling Firefox’s IPv6 support is like cutting off the ball and chain. Suddenly, communication with the local server is back to the blistering pace you’d expect.

All you need now is instructions for disabling Firefox’s IPv6 support.


App Areas in ASP.NET MVC, take 2

So the discussion continues: How do you partition an ASP.NET MVC application into separate “areas” or “modules” (e.g., blog module, e-commerce module, forums module), then compose a finished app from those areas or modules?

Published Nov 5, 2008