xsp
Run executables within the Mono runtime
TLDR
Listen on all interfaces (0.0.0.0) and port 8080
Listen on a specific IP address and port
SYNOPSIS
xsp [options]
PARAMETERS
--port
Specifies the TCP port number for the server to listen on (e.g., 8080).
--address , -a
Defines the IP address to bind to. Use 0.0.0.0 for all available network interfaces, or 127.0.0.1 for localhost.
--root
Sets the physical path to the web application's root directory. Defaults to the current working directory.
--apppath
Specifies the virtual path under which the application will be accessible (e.g., /myapp).
--verbose, -v
Enables verbose output, displaying detailed server activity and debugging information.
--nonstop
Keeps the server running even if errors occur within the application, preventing it from crashing.
--applications
Allows serving multiple ASP.NET applications from different virtual and physical paths simultaneously.
--configfile
Provides an alternative path to the web.config file for the application.
DESCRIPTION
xsp is a command-line utility that provides a simple, lightweight web server specifically designed for testing and developing ASP.NET applications built with the Mono framework. It allows developers to quickly run and debug their ASP.NET websites and web services without needing to deploy them to a full-fledged web server like Apache with mod_mono or Nginx with FastCGI.
xsp directly serves ASP.NET content by processing .aspx, .asmx, .ashx files, etc., using the Mono runtime. It is primarily intended for local development and not recommended for production environments due to its limited features and lack of robustness compared to production-grade servers.
CAVEATS
xsp is strictly for development and testing purposes. It lacks features crucial for production environments, such as robust request handling, security hardening, performance optimization, and extensive logging. It should never be exposed directly to the internet or used in a production setting.
USAGE EXAMPLES
To run an ASP.NET application located in the current directory on port 8080:
xsp -p 8080
To run an application from a specific directory /var/www/mywebapp on port 9000, accessible at http://localhost:9000/myapp:
xsp -p 9000 -r /var/www/mywebapp --apppath /myapp
HISTORY
xsp was developed as part of the Mono Project, an open-source implementation of Microsoft's .NET Framework, initiated by Miguel de Icaza in 2001. It provided a crucial development tool for early adopters and developers building web applications with Mono's ASP.NET stack, predating the widespread adoption of .NET Core.