* Web Services (the SOAP-based rpc system).
</ul>
- There is work underway for both systems. The Web Forms
- support is more advanced at this point, and various ".aspx"
- programs can be run using the Mono runtime and the XSP page
- parser.
-
- We are now working HttpRuntime and related classes to make our
- implementation mostly compatible with MS.
-
- Tim started work on the Web Services. Although we have a
- SoapFormatter as part of the remoting infrastructure already
- (contributed by Jesus), most people will be using the ASP.NET
- Web Services support. Work for the supporting class libraries
- just started recently.
-
-* Web Forms: The pieces
-
- There are a couple of components to the puzzle:
-
- <ul>
- * .aspx page parser (converts .aspx to C# code).
-
- * System.Web.HttpRuntime support.
+ Both are fully functional at this point.
- * Web controls (System.Web.UI.HtmlControls and
- System.Web.UI.WebControls).
+ Publicly available applications such as <a
+ href="http://www.asp.net/Default.aspx?tabindex=5&tabid=42">
+ IBuySpy</a>, <a href="http://www.ngallery.org/">nGallery</a> and
+ many others are known to work.
+
+ Web Services stack is being used for commercial applications
+ such as <a
+ href="http://www.ximian.com/about_us/press_center/press_releases/index.html?pr=sourcegear">
+ SourceGear</a>'s <a
+ href="http://www.sourcegear.com/vault/index.asp">Vault</a>. They
+ even funded the development of our Web Services classes back in
+ 2002. Another example is OpenLink's
+ <a href="http://www.openlinksw.com/virtuoso/">Virtuoso</a>. People
+ from OpenLink also contributed to Mono.
- * Underlying infrastructure for the controls (System.Web.UI).
-
- * HttpRuntime.ProcessRequest is the core of the ASP.NET
- implementation.
- </ul>
+* Hosting ASP.NET
- 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 `xsp' along with a little web server for testing).
+ Using ASP.NET System.Web.Hosting namespace classes you can make
+ your own ASP.NET enabled server.
- Most of the runtime support was 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.
-
- The classes for running ASP.NET are being actively written.
- Gaurav, Leen and Patrik worked in the core of the classes
- required to run ASP.NET web application as well as a small
- embeddable web server.
-
- Duncan got our System.Web assembly to compile.
-
-** HttpRuntime
-
- Patrik has authored most of the HttpRuntime support (both on
- the System.Web and on the foundation).
+ However, if you want to take the easy path, we provide two
+ different mechanisms for hosting ASP.NET applications:
+ <ul>
+ * <a href="#xsp">XSP</a>: A light-weight web server
+ written in C#.
- We are currently working on this.
+ * <a href="#mod_mono">mod_mono</a>: An <a
+ href="http://httpd.apache.org">Apache</a> module that
+ works with both 1.3 and 2.0 versions.
+ </ul>
+<a name="xsp">
** XSP
- This is where initial development of the .aspx compiler to C#
- took place. That compiler is now integrated in System.Web classes
- mostly under System.Web.Compilation namespace.
-
- We still keep the compiler and the initial web server used to debug
- HtmlControls and WebControls under xsp/src directory. This will
- stop working some time soon in favor of a new server, that is also
- compatible with MS runtime.
-
- There is also a bunch of .aspx pages to test the server along with
- a few user controls under xsp/test.
-
- We added a new web server that works with MS runtime and is being
- used to debug our classes. Currently it does not work with mono
- runtime, but will do :-). It resides in xsp/server. A couple of
- classes of this new server can be reused/extended to make an apache
- module/cgi using mono (MonoWorkerRequest and MonoApplicationHost).
-
- The C# code generator has been moved to System.Web.Compilation
-
-** Controls
-
- A lot of work has been put in the various classes that
- implement the controls (UI.HtmlControls and UI.WebControls),
- but they have been coded mostly in the dark, and without being
- able to test them in real life: Gaurav and Leen worked very
- hard on this namespace.
-
- We can now render all HtmlControls and almost all WebControls.
- DataGrid and DataList controls are being finished by Gaurav.
- Xml control needs some work on System.Xml related to XSL.
-
-** Extending ASP.NET
-
- Currently you have to reference in your ASP.NET the control
- and all of its properties, which works fine if you have a GUI
- designer, but is harder for people used to develop using text
- editors.
-
- Since we have a parser, we could extend this parser to allow
- people to still use ASP.NET controls, using a simpler syntax.
- For example people doing blogs and editing their templates
- over the web probably do not want to use direct ASP.NET but a
- wrapper around it.
-
-** Roadmap
-
- 1. The Parser.
-
- 2. Get the parser to generate output compatible with ASP.NET.
-
- 3. Run the sample output with the real Microsoft runtime
- but using our generated page.
-
- 4. Run the sample with our classes with the .NET runtime.
-
- 5. Run the samples with our classes with the our runtime (without
- using HttpRuntime).
-
- 6. Finish HttpRuntime.
- <b>We are here</b>.
+ XSP is a simple web server written in C# that can be used to
+ run your ASP.NET applications. The code is available from our
+ <a href="download.html">download page</a> or from the <a
+ href="anoncvs.html">Anonymous CVS</a> repository (module name:
+ xsp).
- 7. Running our sample code with our classes with our runtime.
+ A couple of classes of this new server can be reused/extended
+ to make an apache module/cgi using mono (MonoWorkerRequest and
+ MonoApplicationHost). This server also uses a couple of
+ plugins distributed with Mono to support gzip HTTP transfers.
-** How to Help
+ There is also a set of pages, controls and web services that you
+ can use to test the server and see how ASP.NET looks like.
- Testing and fixing HtmlControls, WebControls and validators is an
- easy way to help.
+ As XSP is written in C# and uses System.Web classes to perform
+ its job, it also works under MS runtime.
+
+<a name="mod_mono">
+** mod_mono
- In the CVS module XSP you can find the aspx to C# page parser,
- a little web server used for testing and a directory containing
- sample aspx pages.
+ This Apache module is available from our <a
+ href="download.html">download page</a>. The <a href="anoncvs.html">
+ cvs</a> module name is mod_mono.
- You have some documentation under doc directory and in the README
- file of each directory. They explain how to test our System.Web.
- Testing is really easy!
+ It allows apache to serve ASP.NET pages by proxying the requests
+ to a slightly modified version of our XSP called mod-mono-server
+ that is installed along with XSP.
- We will soon get the new server working with our runtime. This way
- we'll have a server that runs on both MS and mono runtime and will
- make it easier to check the functionally against both runtimes.
+ It does not work on Windows.
+<div align="bottom">
+<small>Last updated: Sat, 12 Jun 2004 05:07:31 GMT</small>
+</div>