2025-04-27 07:49:33 -04:00

80 lines
5.2 KiB
HTML

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" Content="text/html; charset=Windows-1252">
<TITLE>Defining Application Boundaries</TITLE>
<SCRIPT LANGUAGE="JavaScript">
<!--
TempString = navigator.appVersion
if (navigator.appName == "Microsoft Internet Explorer"){
// Check to see if browser is Microsoft
if (TempString.indexOf ("4.") >= 0){
// Check to see if it is IE 4
document.writeln('<link rel="stylesheet" type="text/css" href="/iishelp/common/coua.css">');
}
else {
document.writeln('<link rel="stylesheet" type="text/css" href="/iishelp/common/cocss.css">');
}
}
else if (navigator.appName == "Netscape") {
// Check to see if browser is Netscape
document.writeln('<link rel="stylesheet" type="text/css" href="/iishelp/common/coua.css">');
}
else
document.writeln('<link rel="stylesheet" type="text/css" href="/iishelp/common/cocss.css">');
//-->
</script>
<SCRIPT LANGUAGE="VBScript">
<!--
Sub Window_OnLoad()
Dim frmContents
On Error Resume Next
If Not Parent Is Nothing Then
Set frmContents = Parent.Contents
If Not frmContents Is Nothing Then
frmContents.Window.TOCSynch_Click
End If
End If
End Sub
//--></SCRIPT><META NAME="DESCRIPTION" CONTENT="Internet Information Services reference information">
<META HTTP-EQUIV="PICS-Label" CONTENT='(PICS-1.1 "<http://www.rsac.org/ratingsv01.html>" l comment "RSACi North America Server" by "inet@microsoft.com <mailto:inet@microsoft.com>" r (n 0 s 0 v 0 l 0))'>
<META NAME="MS.LOCALE" CONTENT="EN-US">
<META NAME="MS-IT-LOC" Content="Internet Information Services">
</HEAD>
<BODY BGCOLOR="#FFFFFF" TEXT="#000000">
<H1><A NAME="_k2_defining_application_boundaries"></A><SUP></SUP>Defining Application Boundaries</H1>
<P>An ASP-based application is a collection of ASP pages and COM components. When you define an application, you use the Internet Information Services snap-in to designate the application's starting-point directory in your Web site. Every file and folder under the starting-point directory in your Web site is considered part of the application . Therefore, you can use the directory structure to form <I>application boundaries</I> that define the scope of an application. You can have more than one application per Web site, and each application can be configured differently.</P>
<P>One of the most important tasks you face in developing your Web application is to determine how to assemble your ASP pages into a single Web application. IIS uses the concept of a <I>namespace</I> to identify applications. A namespace is a way of associating an area of memory with an easily recognized name; it identifies a group of files as belonging together. IIS uses virtual directories to define namespaces for applications. The following diagram illustrates this concept.</P>
<P><IMG SRC="/iishelp/iis/htm/asp/art/isapi2.gif" ALT="Application Namespaces" BORDER=0></P>
<P>Scripts and ISAPI extension DLLs within an application boundary form a unit of isolation, which always runs in a single server process. IIS administrators can either run applications in the same server process as IIS, a pooled process (the default process), or they can isolate the application by running it in an isolated process, which is particularly helpful during development and testing.</P>
<P>See <A HREF="/iishelp/iis/htm/asp/eadg7j8u.htm">Simplify Development With Process Isolation</A> to learn more about isolating applications and components.</P>
<P>In addition to running applications in a single process, you can also separate your components from .asp files that call them, by running them in an isolated or pooled process. An isolated process would be a good configuration for debugging your components. A pooled process provides superior protection for the server without the overhead involved in maintaining a large number of isolated processes. To run your components in their own process, you must create a new application and add your components to it with the Component Services Manager.</P>
<P>Five possible configurations for applications are:
<OL>
<LI>Put all .asp files and components in the same process as IIS; this configuration provides the fastest performance.</li>
<LI>Put all .asp files and components in one process and IIS in an another process.</li>
<LI>Put all .asp files and components in a pooled process, IIS in another process, and special applications in an isolated process.</li>
<LI>Put all .asp files and IIS in one process, and components in another process.</li>
<LI>Put all .asp files in one process, components in another process, and IIS in a third process.</li>
</OL>
<P>Because process boundaries represent different areas of memory, calling between them requires some extra work by IIS. The mechanism for calling across process boundaries is known as <I>marshaling</I>. Marshaled calls are slower than calls within a single process. Pooled and isolated applications, therefore, do not perform as well as applications sharing the IIS process.</P>
<hr class="iis" size="1">
<p align="center"><em><a href="../../../common/colegal.htm">&copy; 1997-2001 Microsoft Corporation. All rights reserved.</a></em></p>
</BODY>
</HTML>