UltiDev Cassini Web Server

From Wikipedia, the free encyclopedia

UltiDev Cassini Web Server is a simple, light-weight, redistributable web server software capable of simultaneously running multiple ASP.NET applications and static HTML web sites on Microsoft Windows computers that either don't have Internet Information Services (IIS) installed, or can't run IIS at all, like Windows XP Home Edition.

Contents

[edit] History

With Microsoft's push into enterprise software realm in late 1990s, its web application technologies have become popular starting with the introduction of Active Server Pages (ASP) server-side scripting technology, and then with ASP.NET – a web application related subset of Microsoft .NET Framework. ASP.NET itself does not have a built-in HTTP request processor, which means it needs to be underpinned by web server software. In most cases such web server is IIS. Even though IIS is free, it’s not ubiquitous. IIS comes preinstalled on Server versions of Microsoft Windows, but it’s not installed out of the box on consumer versions of Windows, like Windows XP. IIS cannot be installed at all on Windows XP Home Edition.

These factors have limited the reach of ASP.NET applications to mostly enterprise-level setups run by professional IT staff. Despite the fact that web-based applications have become very well-understood and therefore very popular among users, web applications for consumers and small companies remain fairly unusual due to many limitations, one of which is the lack of easily redistributable and maintainable web server software. To address the issue ASP.NET developers started using a shared source version of a simple web server called ASP.NET Cassini Sample Web Server made by Microsoft and able of serving static HTML pages and ASP.NET 1.1 applications. Cassini, Sample Web Server can run in the context of interactive (explicitly logged-in) user account and can run one ASP.NET application per server process instance. Cassini Sample Web Server comes with source code and thus can be made a part of a redistributable application package by writing program code, but it does not include any self-installing redistributable components, like a Microsoft Installer package or a Merge Module. Also, ASP.NET Cassini Sample Web Server does not have any user console for registering and configuring ASP.NET applications.

UltiDev Cassini Web Server is functionally between the powerful but not redistributable IIS, and a somewhat redistributable but rather limited Cassini Sample Web Server. UltiDev Cassini Web Server uses Cassini Sample Web Server source code for request processing, however UltiDev Cassini Web Server can run multiple ASP.NET applications and static web sites at once; it runs as a windows service; and it has an application management console. But unlike IIS or Cassini Sample Web Server, UltiDev Cassini is redistributable by means of plugging the UltiDev Cassini Web Server for ASP.NET 2.0 redistributable component into the list of Visual Studio 2005 setup project prerequisites. For the case of Visual Studio .NET 2003 and ASP.NET 1.1, UltiDev Cassini Web Server for ASP.NET 1.1 includes a Setup.exe bootstrapper that includes UltiDev Cassini Web Server runtime components and replaces the original bootstrapper generated by the Visual Studio.

[edit] Compatibility

UltiDev Cassini Web Server supports all ASP.NET features, which include WebForms, ASMX web services, HTTP Handlers, Atlas/Ajax, forms authentication, etc. On the other hand, features that are specific to the web server rather than to ASP.NET may or may not be supported. IIS features that are not supported by UltiDev Cassini Web Server include SSL, Windows Authentication and server variables specific to IIS. UltiDev Cassini Web Server does not support JSP, ASP, CGI, PHP and other non-ASP.NET server-side application server technologies.

UltiDev Cassini can run side-by-side with IIS and other web servers.

[edit] UltiDev Cassini: Web Server for ASP.NET Developers

UltiDev Cassini Web Server’s primary focus is developers rather than operations staff. In addition to integrating Cassini redistributable components with Visual Studio 2005, ASP.NET applications can be registered and unregistered programmatically with UltiDev Cassini Web Server using one-line Cassini Configuration API calls. UltiDev Cassini Web Server can also be used to debug ASP.NET applications.

[edit] Versions

UltiDev Cassini Web Server has two flavors:

  • UltiDev Cassini Web Server for ASP.NET 2.0
  • UltiDev Cassini Web Server for ASP.NET 1.1.

ASP.NET 2.0 version requires .NET Framework 2.0 and can run ASP.NET 2.0 and most of ASP.NET 1.1 applications. UltiDev Cassini Web Server for ASP.NET 1.1 requires the presence of .NET Framework 1.1 and can run ASP.NET 1.1 applications. UltiDev Cassini Web Server for ASP.NET 1.1 and 2.0 can run side-by-side. Having two separate processes for running different versions of ASP.NET is similar to having two separate Application Pools in IIS6 for running ASP.NET 1.1 and 2.0 applications.

[edit] Security and Suitability for Hosting Internet Web Sites

By default UltiDev Cassini windows service runs under powerful “Local System” (NT AUTHORITY\SYSTEM) user account. Running UltiDev Cassini under “Local System” while facing Internet is dangerous and should be avoided. To make UltiDev Cassini Web Server safer when hosting Internet-facing web sites and applications, its windows services need to be placed under a more restricted user accounts, like NETWORK SERVICE. The reason why UltiDev Cassini is placed under "Local System" account out of the box is because Cassini's intended primary purpose is hosting intranet web applications running inside secured Local Area Networks (LANs).

All ASP.NET applications loaded by UltiDev Cassini Web Server get their own threads and their own AppDomains, but share the same process and identity – the UltiDev Cassini Web Server windows service.

[edit] Licensing

UltiDev Cassini Web Server is free of charge, but not open source. Runtime components of UltiDev Cassini can be freely redistributed along with commercial or free ASP.NET applications using them.

[edit] See also

[edit] External links