views:

278

answers:

5

I have an ASP.NET website which is running currently on IIS. Now I want to move that site to run on Cassini.

What are the advantages of Cassini over IIS? What are its disadvantages?

What are your experiences using Cassini as a production web-server?

+1  A: 

I would say you are better off, going with something proven to handle scaling, like mod_mono on apache if you are looking for alternative servers.

The integrated pipeline, routing, compression and caching features of iis are hard to replicate. But the app pool and failure rapid response stuff is hard to do without knowledge of the OS and the network stack at a root level.

Cassini doesn't claim to be multi threaded or handle any of the advanced e-tags or other header control issues that can be issues with iis, but are also usually set at sensible defaults in later versions of iis.

For the sake of completeness, you could do the older rails-mongrels model, spin up say 10 cassini's on ports 10100 - 10110, then use ngenx or apache to load ballance requests on those threads, and using a monitoring tool to redo requests to new threads when old ones go out to lunch and constantly be restarting 2 or so ports, because you get overloaded.

DevelopingChris
+5  A: 

As far as I know, you cannot use Cassini in production because it listens for localhost requests only. You will have to modify source code and recompile the webserver by yourself.

Another thing is that IIS is built on top of http.sys kernel-level library for maximum performance. I'm not familiar with the latest Cassini versions but last time I checked, it used slower managed TCP sockets.

If your website is not very popular and Cassini has all the features you need, why not... there is nothing wrong with Cassini. It's simple webserver but it's not the only alternative to IIS.

There is Abyss, UltiDev Cassini and I think a few other open-source servers with ASP.NET support.

lubos hasko
+3  A: 

Easy choice: it's simply not possible to use Cassini in production, because it's not accessible from remote machines (it only listens on localhost).

RickNZ
+1  A: 

There is a good comparison of Cassini and IIS here at StackOverflow

edosoft
A: 

There is no possible angle you can look at cassini or any of it's derivatives and consider using it as anything other than a development/testing server.

Sky Sanders