Note: (from their website)
"UltiDev recommends running UltiDev Cassini Web Server as an Intranet (inside-the-LAN) web server. Exposing UltiDev Cassini to Internet may be unsafe without using of HttpVPN due to the fact that UltiDev Cassini windows service is running under the powerful Local System (NT AUTHORITY\SYSTEM) account. Compromising applications running under Cassini may give an attacker complete control over the system."
IIS. That's the only server that supports .Net really well. You can go with Mod_Mono on Apache, but that's probably not going to be as stable as running IIS.
XSP - "a lightweight and simple webserver written in C#"
Of course, you're going to get better performance from apache + mod_mono, but this is definitely lightweight
Also, XSP runs on windows: http://www.mono-project.com/Mono:Windows
Probably not relevant to this discussion but be careful testing / debugging on cassini. Its threading model is different from IIS. I've had problems with security (thread.CurrentPrincipal etc) on cassini that just disappeared when I started debugging against IIS.
The company I work for makes a server called the Neokernel Web Server that meets these reqs; it can be used standalone or embedded in your application and started programatically. The assembly is around 500KB so it's pretty small. This is a commerically supported product with a free evaluation license available. It is not based on the Cassini source code, although like IIS and Cassini it uses the ASP.NET processing pipeline for ASP.NET files.