Running ASP.NET scripts from CD-ROM or USB using Stunnix Advanced Web Server

Supported platforms

ASP.NET scripts are supported only on Windows for now; we are planning to add support for ASP.NEt on Macs using Mono project soon.

All versions of Windows are supported starting from Win2k .

Supported versions of ASP.NET

Versions of ASP.NET supported are 2.0 and 1.1. User chooses which version of .NET framework to be required during creation of CD prototype, in the CDBuilder GUI. If user chose to use version 1.1 of .NET, the product will work just fine if only .NET 3.0 or .NET 2.0 is installed on computer.

Limitations

Note: All ASP.NET applications should be compiled into .dlls (that should reside in /bin folders under web documents root, that is in /site/www/root/bin on cd).

To precompile ASP.NET 2.0 app, use Aspnet_compiler.exe included with .NET 2.0. Please see more info in this MSDN article

ASP.Net 1.1 lacks such tools, but you may use free tools for this task, e.g. ASPdotNETprecompiler or this one among others.

ASP.NET does not work on Win9x due to limitations of ASP.NET itself.

It's impossible to start product that uses ASP.NET from network share due to some bugs in .NET implementation (both versions 1.1 and 2.0 are affected).

If .NET is absent on user's computer..

ASP.NET support is provided using .NET framework already installed on the user's computer. If .NET is absent, developer can ask web server to show a special page (instead of usual inital page) with instructions on how to install .NET.

The most easy and recommended way for developer to support such installation by the user is Microsoft Component Installer Software Development Kit that allows one-click installation of all .NET dependencies. That product can install all prerequisites of .NET and typical prerequisites of ASP.NET applications (like MDAC) too.

Working with Databases

It's recommended to use MS Access engine (Jet OLEDB) for ASP.NET sites since it requires no additional software to be installed, and no additional software to be started from CD. Such way of storage works fine in read-only mode (unlike a lot of other databases that require write permission to files holding database data even if data are never modified).

If you need persistance of your database, you will have to code copying .mdb files yourself.

Mixing ASP.NET scripts with other scripting languages

Unlike with other products, ASP.NET pages appear on the same port as main web server. This means it's trivial for your code to generate links to other pages of your site, without need to compute the full URL of the page by appending port number of other web server.

Static content and active content provided by other scripting languages (PHP, Perl, Python, Tomcat) is be served by main web server, the rest is served by ASP.NET engine.

Internally ASP.NET engine is started on a separate port (chosen randomly). When request comes to a resource that should be served by ASP.NET engine, it comes to main web server engine; main web server receives it, performs same request to ASP.NET, and sends the content ASP.NET returned to the user (i.e. main web server acts as a proxy).

Once user tells to stop main cdrom-based webserver, ASP.NET engine is also stopped along main web server and database servers.

Various notes

ASP.NET code should be configured using web.config files residing in corresponding directories, in the way you've always did it with IIS.

Property pages in CDBuilder

View it in a separate window