httpd-cvs mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From wr...@apache.org
Subject svn commit: r106051 - httpd/site/trunk/xdocs/cli
Date Sun, 21 Nov 2004 01:06:30 GMT
Author: wrowe
Date: Sat Nov 20 17:06:29 2004
New Revision: 106051

Added:
   httpd/site/trunk/xdocs/cli/introduction.xml   (contents, props changed)
Log:

  Offer an introduction on how-to-use mod_aspdotnet.  Not yet done,
  needed to bounce this draft anyways.



Added: httpd/site/trunk/xdocs/cli/introduction.xml
==============================================================================
--- (empty file)
+++ httpd/site/trunk/xdocs/cli/introduction.xml	Sat Nov 20 17:06:29 2004
@@ -0,0 +1,151 @@
+<?xml version="1.0"?>
+<document>
+  <properties>
+    <author email="cli-dev@httpd.apache.org">cli-dev subproject team</author>
+    <title>Introduction to mod_aspdotnet</title>
+  </properties>
+<body>
+
+<section>
+<title>What Is ASP.NET?</title>
+<p>Microsoft's marketing of .NET is a vision encompasing a wide spectrum of 
+technologies, not one specific new technology.  This leads to some confusion 
+about .NET development and what web development under .NET really entails.</p>.
+
+<p>The deepest underpinning of .NET is a new program execution model, the CLR
+(Common Language Runtime), which hosts IL (Intermediate Language) code.  
+This model is very similar to Java's JVM running .class'es compiled into
+Java bytecode.  Far different than the classic interpreted script (such as
+Perl) or compiled machine code (such as C or C++), the CLR enforces rules 
+to ensure code trust, machine security and data integrity.  Many languages 
+are already available for writing code to run within the CLR, including 
+C#, and Microsoft's C++.NET, VisualBasic.NET and J#.  Many third party 
+companies are bringing additional languages to the .NET managed code world, 
+there are more than 20 different languages shipping today.</p>
+
+<p>Microsoft's .NET Framework includes many core facilities, packaged as 
+language-agnostic classes that can be generally used by any .NET language.
+It includes the C# compiler, and the ASP.NET related classes (known internally
+as System.Web) that provide web applications the facilities to query and 
+collect information on the current request, prepare the response and maintain
+session state information.  ASP.NET simplifies the chore of building web
+applications down to the essential task of generating and serving content.</p>
+
+</section>
+<section>
+<title>What is mod_aspdotnet?</title>
+
+<p>This is actually two moduless; mod_aspdotnet.so is an in-process 
+Apache 2.0 module, which starts the ASP.NET engine and hands off requests
+to the ASP.NET engine.  There is a second module compiled for .NET, which
+is Apache.Web.dll.  The Apache.Web.dll is loaded into Microsoft's ASP.NET
+host environment and dispatches request and response operations back to
+the mod_aspdotnet.so.  This combination of managed (ASP.NET-side) and 
+unmanaged (Apache-side) code, running in the same process as the Apache 2.0 
+server, attains the optimal performance for serving ASP.NET content.  The 
+solution maintains tight compatibility with existing, IIS-hosted ASP.NET 
+because the Microsoft ASP.NET hosting environment is running under both
+of these scenarios.</p>
+
+<p>Multiple ASP.NET virtual webs are supported by the mod_aspdotnet module.  
+A request is directed to the asp.net handler using conventional Apache 
+configuration options, and is mapped to a specific ASP.NET virtual web by
+matching the requested URI to the AspNetMount directives given for the 
+specific Apache virtual host, uri, and file location.  The same AspNetMount 
+can be given in multiple Apache virtual hosts.  Any given AspNetMount is 
+created only once for all Apache virtual hosts that share the same AspNetMount,
+conserving memory and resources.</p>
+
+<p>AspNetMount and other directive changes are processed when the server is 
+restarted.  With Apache 2.0, the original Windows child process continues to 
+serve requests until a new child process is ready to process requests itself. 
+This provides minimal interruption of service when modifying the web server 
+configuration.  The restart option begins a graceful restart sequence, loading 
+and initializing the new server while the old server finishes fulfilling open 
+requests, and there is no interruption in web services during the transition 
+from the old to the new configuration.</p>
+
+<p>This is not a module for Unix platforms.  The Mono project's mod_mono 
+provides very similar features for non-Win32 machines, with their own 
+implementation of ASP.NET for Apache httpd server.</p>
+
+</section>
+<section>
+<title>Getting Started</title>
+
+<p>Microsoft's .NET Framework is available as a free download for Windows 2000 
+or 2003 Professional and Server versions, XP Professional, and .NET Server 
+platforms from <http://asp.net/download.aspx>.  You must minimally install 
+the .NET Framework Resdistributable version, while developers will prefer to 
+install the .NET Framework Software Development Kit, or another .NET 
+development tool such as VisualStudio .NET.</p>
+
+</section>
+<section>
+<title>An Example Configuration - Microsoft's IBuySpy Sample</title>
+
+<p>The following configuration will support the Microsoft IBuySpy sample, an 
+illustration of a web storefront.  IBuySpy is available as a free download 
+from <a href="http://asp.net/ibuyspy/">http://asp.net/ibuyspy/</a>.  Note that

+Microsoft SQL Server version 7.0 must be installed before installing the 
+Microsoft IBuySpy sample.  The configuration below illustrates configuration 
+for the C# flavor of the IBuySpy Store sample, installed into the default 
+installation directory:</p>
+
+<code>
+LoadModule aspdotnet_module modules/mod_aspdotnet.so<br />
+<br />
+# Use the asp.net handler for all common ASP.NET file types<br />
+AddHandler asp.net asax ascx ashx asmx aspx axd config cs csproj \<br />
+                   licx rem resources resx soap vb vbproj vsdisco webinfo <br />
+<br />
+&lt;IfModule mod_aspdotnet.cpp&gt;<br />
+<br />
+    # Mount the IBuySpy C# example application<br />
+    AspNetMount /StoreCSVS "C:/StoreCSVS/StoreCSVS"<br />
+<br />
+    # Map all requests for /StoreCSVS to the IBuySpy application files<br />
+    Alias /StoreCSVS "C:/StoreCSVS/StoreCSVS"<br />
+<br />
+    # Allow asp.net scripts to be executed in the IBuySpy example<br />
+    &lt;Directory "C:/StoreCSVS/StoreCSVS"&gt;<br />
+        Options FollowSymlinks ExecCGI<br />
+        Order allow,deny<br />
+        Allow from all<br />
+        DirectoryIndex Default.htm Default.aspx<br />
+    &lt;/Directory&gt;<br />
+<br />
+    # For all virtual ASP.NET webs, we need the aspnet_client files <br />
+    # to serve the client-side helper scripts.<br />
+    AliasMatch /aspnet_client/system_web/(\d+)_(\d+)_(\d+)_(\d+)/(.*) \<br />
+          "C:/Windows/Microsoft.NET/Framework/v$1.$2.$3/ASP.NETClientFiles/$4"<br />
+    &lt;Directory \<br />
+          "C:/Windows/Microsoft.NET/Framework/v*/ASP.NETClientFiles"&gt;<br />
+        Options FollowSymlinks<br />
+        Order allow,deny<br />
+        Allow from all<br />
+    &lt;/Directory&gt;<br />
+<br />
+&lt;/IfModule&gt;<br />
+</code>
+
+<p>Configuring the VisualBasic.NET version is very similar, simply change the 
+<code>StoreCSVS</code> directory names above to the name 
+<code>StoreVBVS</code>.</p>
+
+</section>
+<section>
+<title> What is the cli subproject of Apache httpd project?</title>
+
+<p>The cli subproject stands for Common Language Interfaces.  These include 
+only mod_aspdotnet today, but the developers in the cli subproject are looking 
+forward to building more Apache-specific framework, tightly coupled to Apache 
+httpd server, similar to the flexibility offered by mod_perl.</p>
+
+<p>See the <a href="http://httpd.apache.org/cli/>cli subproject site</a>
+for information on how to participate in these ongoing efforts!</p>
+
+</section>
+</body>
+</document>
+

Mime
View raw message