You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@httpd.apache.org by wr...@apache.org on 2004/11/21 02:06:30 UTC
svn commit: r106051 - httpd/site/trunk/xdocs/cli
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 />
+<IfModule mod_aspdotnet.cpp><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 />
+ <Directory "C:/StoreCSVS/StoreCSVS"><br />
+ Options FollowSymlinks ExecCGI<br />
+ Order allow,deny<br />
+ Allow from all<br />
+ DirectoryIndex Default.htm Default.aspx<br />
+ </Directory><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 />
+ <Directory \<br />
+ "C:/Windows/Microsoft.NET/Framework/v*/ASP.NETClientFiles"><br />
+ Options FollowSymlinks<br />
+ Order allow,deny<br />
+ Allow from all<br />
+ </Directory><br />
+<br />
+</IfModule><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>
+