I have noticed that while debugging my site, any request that results in a 404 and appears to refer to a path on the disk relative to my configured virtual directory is intercepted by Cassini and rudely replaced with a directory listing. I’m using Nancy Framework, but given that this problem appears to be at the web server level, I suspect Cassini would act the same way for MCV applications. I can’t find any documentation on this “feature” other than a related commit message on the Cassini source that says “…directory listing only overrides 404 responses for directories”.
I would much rather my development web server stop trying to outsmart my framework. I makes the debugging experience more than a little jarring. In an MVC framework the request URLs have nothing at all to do with file locations, so the fact I’m getting directory listings for some invalid requests and the correct 404 page for others gets annoying. Not to mention it’s making several of my unit tests fail because they rely on auto-generated content in my 404 error pages (which I can’t manually test either).
Is there any way to disable this functionality in Cassini? I know I could install IIS Express, but I’d rather not. Especially since my unit test runner and hosts file (this is a multi-domain application) are already configured just right.
Stop using Cassini and start using IIS Express instead.
Cassini has many shortcomings (SSL support being one, the problems you are seeing another and many more).
IIS Express is based on IIS code and is as close to IIS as can be while still being lightweight.