What are the (dis)advantages of using Cassini instead of IIS?

I've found that on some occasions I can edit the source while debugging. Are there any other advantages of using the Visual Studio built-in webserver instead of a virtual directory in IIS?

I'm using Windows XP on my development environment, and a local instance of IIS 5. I work on several projects, so I use multiple virtual directories to manage all the different sites.

Are there any disadvantages?


The built-in web server for Visual Studio is called Cassini and here are a few of its limitations...

  • It can host only one ASP.NET application per port.
  • It does not support HTTPS.
  • It does not support authentication.
  • It responds only to localhost requests.
  • It is slow startup compared to IIS

All the previous responses are great answers - here's one gottcha with Cassini that might require IIS on the destkop.

Cassini runs in the context of the developer, not as the IIS user (IUSR_, IWAM, or in WinXP x64, the w3wp process). This can be a bit painful if you've got a web site that is accessing external files or creating temp files. It is most evident when your developer is running as an Admin of their desktop.

When you move to the server IIS, something that you would have had access to in Cassini doesn't work the same. CACLing with the IIS_WPG usually is all it takes to fix, but if your developer is not thinking about this, they will quickly get quite frustrated with their deploy.


Cassini does not support virtual directories.


It looks like a third option is coming soon:

IIS Express.


Another disadvantage I've run into is on a Forms authenticated website using custom IPrincipal/IIdentity. Cassini will switch the AppDomains without warning (or notice).

Check this blog post for more.The headache on this made me drop Cassini and stick with IIS.