Flush
[mono.git] / doc / asp-net
index 5255e69f77d20690eed79b975a470fae561b091a..4a2445f7fa88e5b438f1b64b49d46fc3dd4f56db 100755 (executable)
@@ -7,69 +7,65 @@
                * 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.
+       Both are functional at this point, and applications like
+       "IBuySpy" run with Mono.
 
-       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.
+       ASP.NET works either embedded into
+       our XSP server test server or the mod_mono Apache module.
 
-* Web Forms: The pieces
+       We are now working bug fixing and adding missing features
+       after making the whole pipeline compatible with MS.
 
-       There are a couple of components to the puzzle:
+       Tim started work on the Web Services.  Lluis is in charge of
+       it now and web services are now supported. He also added a web
+       service sample to the XSP server set of tests.
 
-       <ul>
-               * .aspx page parser (converts .aspx to C# code).
-       
-               * System.Web.HttpRuntime support.
-       
-               * Web controls (System.Web.UI.HtmlControls and
-                 System.Web.UI.WebControls).
-       
-               * Underlying infrastructure for the controls (System.Web.UI).
-       
-               * HttpRuntime.ProcessRequest is the core of the ASP.NET
-                 implementation.
-       </ul>
+** Hosting
 
+       ASP.NET provides a hosting interface.  Today we ship support
+       for two different hosting mechanisms:
+       <ul>
+               * <a href="#xsp">XSP</a>: A light-weight C# web server.
 
-       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).
-
-       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.
+               * <a href="#mod_mono">mod_mono</a>: An apache module
+                 that can host the Mono runtime and the ASP.NET runtime
+       </ul>
 
-       Duncan got our System.Web assembly to compile.
+<a name="xsp">
+** XSP
 
-** HttpRuntime
+       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)/.
+       
+       This is where initial development of the .aspx/.ascx/.asax
+       compiler to C# took place. That compiler is now integrated in
+       System.Web classes mostly under System.Web.Compilation
+       namespace.  We added a new web server that works with mono and
+       MS runtime and is being used to debug our classes.  It resides
+       in xsp/server.
 
-       Patrik has authored most of the HttpRuntime support (both on
-       the System.Web and on the foundation).
+       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.
 
-       He is now working on finishing HttpRuntime and a few needed
-       classes.
+       There is also a set of .aspx pages to test the server along with
+       a few user controls under xsp/test.
 
-** XSP
+       You can check it out from CVS and run 'make install' to test it.
 
-       Currently XSP provides the .aspx compiler to C#.
-       There is also a small web server for testing in module xsp
-       along with a bunch of .aspx pages to test the server.
+<a name="mod_mono">
+* mod_mono
 
-       The C# code generator is being moved to System.Web.Compilation.
+       This Apache module available at <a
+       href="http://www.apacheworld.org/modmono/">ApacheWorld.org</a>
+       hosts the Mono runtime and the Mono's ASP.NET runtime, and
+       allows apache to server asp.net web pages.
 
-       Gonzalo is in charge of the compiler.
+       Work is underway to improve it.
 
 ** Controls
 
        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 finisehd 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
+       We can now render all HtmlControls and all WebControls.
 
-        1. The Parser.
+       Help in making the controls better is appreciated.
 
-        2. Get the parser to generate output compatible with ASP.NET.
+** ASP.NET and free controls.
 
-        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>.
-       
-        7. Running our sample code with our classes with our runtime.
+       We want to encourage developers to create open source controls
+       that can be used both on Mono's ASP.NET and Microsoft's ASP.NET.  
 
 ** How to Help
 
         Testing and fixing HtmlControls, WebControls and validators is an
        easy way to help.
 
-        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.
+        In the CVS module XSP you can find a small web server used for
+       testing and a directory containing sample aspx pages.
 
         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!
 
+       As the server also works with MS runtime, you can use it to check
+       what the expected results are.
+