[Mono-aspnet-list] Apache, mod_mono, mod-mono-server, XSP relationship

Gonzalo Paniagua Javier gonzalo.mono at gmail.com
Thu May 7 15:04:01 EDT 2009

On Thu, 2009-05-07 at 11:04 -0700, Jay McMeans wrote:
> I have read a number of articles and forum posts about running ASP.Net with
> Mono.  I am being asked by management to provide a component view of the
> server processes / components.  I am having a hard time putting that
> together from the information I have read.
> I know that mod-mono hooks itself into Apache so that any .aspx request is
> handed over to mod-mono.  mod-mono then sends a request over to
> mod-mono-server over TCP/IP, which is running outside of Apache, to serve up
> the page.  I also know that mod-mono-server somehow uses XSP to help it
> serve the page to the browser.

The connection between apache/mod-mono and mod-mono-server uses named
pipe(s). You can also use TCP/IP if you want to run mod-mono-server in a
different machine, but that's not the default.

mod-mono-server(2) and xsp(2) are basically the same thing, only that
mod-mono-server gets its input from a named pipe and xsp gets it
directly from a TCP socket.

> The things that I do not understand are:
> 1. Does XSP actually serve the info back to the browser or does it somehow
> hand it back to Apache to return to the browser?

XSP is a standalone server that is not related to apache. So, yes, xsp
sends the response directly to the browser. mod-mono-server, on the
other hand, sends the response to apache which then sends it to the

> 2. Which component (mod-mono, mod-mono-server, XSP) compiles the .aspx?

Compilation happens in the System.Web assembly, which both xsp and
mod-mono-server use.

> 3. Where do ASP.Net Web Services run?  Apache, mod-mono-server, XSP, ...?

mod-mono-server (if you're using apache) or xsp (as a standalone

> 4. Is there some sort of diagram somewhere, that I have not found, that
> shows the data / communications / component information for all of this
> stuff?

There is not. But it's the same as the diagram in
(replace IIS with apache and aspnet_isapi.dll with mod-mono).


More information about the Mono-aspnet-list mailing list