[Mono-list] ASP.NET status

Miguel de Icaza miguel@ximian.com
18 May 2002 16:46:13 -0400

Hello everyone!

    During the last couple of weeks we have been doing some work on
ASP.NET, and a few people have been asking how they can help with
ASP.NET to get here faster.

    There are a couple of components to the puzzle:

	* .aspx page parser (converts .aspx to C# code).

	* System.Web.HttpRuntime support.

	* Web controls (System.Web.UI.HtmlControls and

	* Underlying infrastrcture for the controls (System.Web.UI).

        * Small web server to test the pipeline.

    A lot of work has been put in the various areas:  Gaurav and Leen
worked very hard on the System.Web.UI namespace, but this code has been
never tested, and it is lacking regression tests.

   Gonzalo has been working on an ASP.NET parser that takes .aspx files
and generated the code required to run them (the code lives in module

   Most of the runtime support was mostly written by Patrik Torstensson
(now at Intel).  This was interesting, because in order to implement
some of its features, Patrik had to go into the runtime/JIT engine and
he spent a few weeks doing work there.

   Duncan last week got our System.Web assembly to compile, and he is in
the process of getting the generated output to compile and link with our
System.Web classes, but so far, most of the work has been in stubbing
out the classes, just so we can get a clean compilation of the code. 

   Recently Brad Wilson pointed us to a small Web server that when faced
with an .aspx page will call HttpRuntime.ProcessRequest.  This code is
available in:


   Now, this can only be used to test drive the process, but we can not
at this point incorporate the code into any of our class libraries, as
we do not know what the license for that code is and whether it will be
OK for us to redistribute it under the X11 license.

   But it is a good starting point to assemble the pipeline.  Many holes
probably exist, and those need to be fixed before we can get ASP to

   What I think the next steps should be:

	1. To get the small Web Server running on Microsoft.NET.
	   To get the small Web Server running with the Mono runtime
	   using the Microsoft System.Web assembly (it might not be
	   possible if they use any internal calls). 

	2. To get the small Web Server running with *our* class
	   libraries in ASP.NET

	3. To get our small Web Server calling
	   HttpRuntime.ProcessRequest using the XSP code generator.

	4. To attempt to run this with Mono on Windows and Linux.

best wishes,