Compartir a través de


ASP COM Plus <comPlus>

El elemento <comPlus> del elemento <asp> especifica la siguiente configuración de COM+ para las páginas Active Server (ASP) en Internet Information Services (IIS) 7:

  • La propiedad appServiceFlags contiene las marcas que deben establecerse para habilitar los servicios COM+ en las aplicaciones de IIS 7. Una vez que habilite las marcas, puede que también tenga que establecer otras propiedades. Para obtener más información, consulte la sección Configuración más adelante en este artículo.

  • El atributo executeInMta especifica si ASP puede ejecutar scripts en un contenedor multiproceso. ASP puede ejecutar todos sus subprocesos en un contenedor multiproceso (MTA). Si los componentes COM son principalmente de subproceso libre o de proceso dual, la ejecución de los subprocesos ASP como MTA puede mejorar significativamente el rendimiento. De forma predeterminada, la propiedad executeInMta se establece en false, lo que significa que ASP no se ejecuta en MTA. Establezca esta propiedad en true en el nivel de aplicación para permitir que ASP se ejecute en MTA.

  • El atributo partitionId especifica el identificador único global (GUID) de una partición COM+, que se usa para aislar las aplicaciones web en sus propias particiones COM+. Las particiones COM+ contienen diferentes versiones de sus propios componentes COM personalizados.

    Nota:

    Si especifica un valor para el atributo partitionId, también deberá establecer la marca UsePartition del atributo appServiceFlags.

  • El atributo sxsName especifica el nombre de una aplicación COM+ y habilita los ensamblados en paralelo (SxS). Los ensamblados en paralelo (SxS) permiten a las aplicaciones ASP especificar qué versión de un archivo DLL del sistema compatible con SxS se debe usar, como MSVCRT, MSXML, COMCTL, GDIPLUS, etc.

    Nota:

    Si especifica un valor para el atributo sxsName, también deberá establecer la marca EnableSxS del atributo appServiceFlags.

  • El atributo trackThreadingModel especifica si IIS 7 comprueba el modelo de subprocesos de cualquier componente (objetos COM) que cree la aplicación. La configuración preferida de este atributo de metabase es false. Si trackThreadingModel se establece en true, se aplican las condiciones siguientes:

    • ASP usa los recursos del sistema para realizar un seguimiento del modelo de subprocesos, lo que reduce el rendimiento de la aplicación ASP.

    • Los objetos que se crean en la aplicación ASP fuera del método OnStartPage u OnEndPage se liberan antes de lo esperado, lo que provoca la degradación de la escalabilidad de la aplicación y puede impedir que el componente escriba en la respuesta en el método de destructor de objetos.

      Si el atributo trackThreadingModel se establece en false y asigna el ámbito de aplicación a los componentes que crea, esos componentes deben agregar el contador de referencias de subprocesos libres. Si no agrega el contador de referencias de subprocesos libres, ASP genera un error al intentar crear una instancia del componente. Para obtener más información, consulte Selección de un modelo de subprocesos para componentes de IIS.

Compatibilidad

Versión Notas
IIS 10.0 El elemento <comPlus> no se modificó en IIS 10.0.
IIS 8.5 El elemento <comPlus> no se modificó en IIS 8.5.
IIS 8.0 El elemento <comPlus> no se modificó en IIS 8.0.
IIS 7.5 El elemento <comPlus> no se modificó en IIS 7.5.
IIS 7.0 El elemento <comPlus> del elemento <asp> se introdujo en IIS 7.0.
IIS 6,0 El elemento <comPlus> reemplaza las siguientes propiedades de metabase de IIS 6.0:
  • AspAppServiceFlags
  • AspExecuteInMTA
  • AspPartitionID
  • AspSxsName
  • AspTrackThreadingModel

Configuración

Para admitir y configurar aplicaciones ASP en el servidor web, debe instalar el módulo ASP. Para instalar el módulo ASP, siga estos pasos.

Windows Server 2012 o Windows Server 2012 R2

  1. En la barra de tareas, haga clic en Administrador del servidor. - En Administrador del servidor, haga clic en el menú Administrar y, después, haga clic en Agregar roles y características. - En el Asistente para agregar roles y características, haga clic en Siguiente. Seleccione el tipo de instalación y haga clic en Siguiente. Seleccione el servidor de destino y haga clic en Siguiente. - En la página Roles de servidor, expanda sucesivamente Servidor web (IIS), Servidor web y Desarrollo de aplicaciones y, a continuación, seleccione ASP.

    Screenshot of Web Server and Application Development pane expanded with A S P selected.

    Si el aparece el cuadro de diálogo ¿Agregar características necesarias para ASP?, haga clic en Agregar características. (Esta página solo aparece si aún no se ha instalado el servicio de rol Extensiones de ISAPI en el servidor). - En la página Roles de servidor, haga clic en Siguiente. - En la página Seleccionar características, haga clic en Siguiente. - En la página Confirmar selecciones de instalación, haga clic en Instalar. - En la página Resultados, haga clic en Cerrar.

Windows 8 o Windows 8.1

  1. En la pantalla Inicio, mueva el puntero hasta la esquina inferior izquierda, haga clic con el botón derecho en el botón Inicio y, a continuación, haga clic en Panel de control.

  2. En Panel de control, haga clic en Programas y características y después en Activar o desactivar las características de Windows.

  3. Expanda sucesivamente Internet Information Services, World Wide Web Services y Características de desarrollo de aplicaciones y, a continuación, seleccione ASP.

    Screenshot shows World Wide Web Services and Application Development Features node expanded with A S P selected.

    Nota:

    El rol de extensiones ISAPI se seleccionará si aún no se ha instalado.

  4. Haga clic en OK.

  5. Haga clic en Cerrar.

Windows Server 2008 o Windows Server 2008 R2

  1. En la barra de tareas, haga clic en Inicio, seleccione Herramientas administrativas y, luego, haga clic en Administrador del servidor.
  2. En el panel de jerarquía del Administrador del servidor, expanda Roles y, luego, haga clic en Servidor web (IIS).
  3. En el panel Servidor web (IIS), desplácese hasta la sección Servicios de rol y, luego, haga clic en Agregar servicios de rol.
  4. En la página Seleccionar servicios de rol del Asistente para agregar servicios de rol, seleccione ASP.
    Screenshot of Select Role Services page showing Application Development node expanded and A S P selected.
  5. Si aparece el cuadro de diálogo Agregar servicios de rol necesarios para ASP, haga clic en Agregar servicios de rol necesarios. (Esta página solo aparece si aún no se ha instalado el servicio de rol de extensiones de ISAPI en el servidor).
    Screenshot of Add role services required by A S P dialog box with Web Server I I S selected.
  6. En la página Seleccionar servicios de rol, haga clic en Siguiente.
  7. En la página Confirmar selecciones de instalación, haz clic en Instalar.
  8. En la página Resultados , haga clic en Cerrar.

Windows Vista o Windows 7

  1. En la barra de tareas, haga clic en Inicio y, luego, haga clic en Panel de control.

  2. En Panel de control, haga clic en Programas y características y después en Activar o desactivar las características de Windows.

  3. Expanda Internet Information Services, luego World Wide Web Services y luego Características de desarrollo de aplicaciones.

  4. Seleccione ASP y después haga clic en Aceptar.

    Screenshot of Internet Information Services and Application Development Features pane expanded with A S P selected.

Procedimientos

Cómo configurar los valores de estado de sesión de ASP para un sitio o aplicación

  1. Abra el Administrador de Internet Information Services (IIS):

    • Si usa Windows Server 2012 o Windows Server 2012 R2:

      • En la barra de tareas, haga clic en Administrador del servidor, en Herramientas y, a continuación, en Administrador de Internet Information Services (IIS).
    • Si usa Windows 8 o Windows 8.1:

      • Mantenga presionada la tecla Windows, presione la letra X y haga clic en Panel de control.
      • Haga clic en Herramientas administrativas y, a continuación, haga doble clic en Administrador de Internet Information Services (IIS).
    • Si usa Windows Server 2008 o Windows Server 2008 R2:

      • En la barra de tareas, haga clic en Inicio, seleccione Herramientas administrativas y, a continuación, haga clic en Administrador de Internet Information Services (IIS).
    • Si usa Windows Vista o Windows 7:

      • En la barra de tareas, haga clic en Inicio y, luego, haga clic en Panel de control.
      • Haga doble clic en Herramientas administrativas y, a continuación, haga doble clic en Administrador de Internet Information Services (IIS).
  2. En el panel Conexiones, expanda el nombre del servidor, expanda Sitios y, a continuación, vaya al sitio web o a la aplicación web que desea configurar.

  3. En el panel Inicio del sitio o la aplicación, haga doble clic en ASP.
    Screenshot of Home pane showing A S P selected.

  4. En el panel ASP, expanda la sección Propiedades de Com Plus y establezca la configuración deseada.
    Screenshot of A S P pane displaying Com Plus Properties section highlighted.

  5. Haga clic en Aplicar en el panel Acciones.

Configuración

Atributos

Atributo Descripción
appServiceFlags Atributo flags opcional.

Contiene las marcas que deben establecerse para habilitar los servicios COM+ en las aplicaciones de IIS.

El atributo appServiceFlags puede tener uno de los siguientes valores posibles. El valor predeterminado es None.
Valor Descripción
None Especifica que no hay marcas establecidas.

El valor numérico es 0.
EnableTracker Al establecer esta marca se habilita el seguimiento COM+, que permite a los administradores o desarrolladores depurar aplicaciones ASP.

El valor numérico es 1.
EnableSxS Al establecer esta marca se habilitan los ensamblados COM+ en paralelo, que permiten a las aplicaciones ASP especificar qué versión de un archivo DLL del sistema o un componente COM clásico se debe usar, como WinHTTP 5.1, Shell Common Controls versión 6.0 (Comctl32.dll), GDI Plus versión 1.0 (GDIplus.dll) y Bibliotecas en tiempo de ejecución de Visual C++ versión 6.0. Si se establece esta marca, también debe especificar un valor para el atributo sxsName.

El valor numérico es 2.
UsePartition Al establecer esta marca se habilita la creación de particiones COM+, que se puede usar para aislar las aplicaciones web en sus propias particiones COM+. Las particiones COM+ pueden contener diferentes versiones de sus propios componentes COM personalizados. Si se establece esta marca, también debe especificar un valor para el atributo partitionId.

El valor numérico es 4.
executeInMta Atributo Boolean opcional.

Especifica si ASP se ejecuta en un entorno multiproceso.

El valor predeterminado es false.
partitionId Atributo de cadena opcional.

Especifica el identificador único global (GUID) de la partición COM+.

Nota: Este atributo es necesario cuando el atributo appServiceFlags está establecido en UsePartition.

El valor predeterminado es 00000000-0000-0000-0000-000000000000.
sxsName Atributo de cadena opcional.

Nota: Este atributo es necesario cuando el atributo appServiceFlags está establecido en EnableSxS.

Especifica el nombre de la aplicación COM+.
trackThreadingModel Atributo Boolean opcional.

Especifica si la comprobación del modelo de subprocesos está habilitada. Un valor de true significa que IIS respeta el modelo de subprocesos de los componentes que crea una aplicación.

El valor predeterminado es false.

Elementos secundarios

Ninguno.

Ejemplo de configuración

En el ejemplo de configuración siguiente se muestra cómo configurar IIS para habilitar la comprobación del modelo de subprocesos y configurar ASP para que se ejecute en un compartimiento multiproceso.

<configuration>
   <system.webServer>
      <asp>
         <comPlus trackThreadingModel="true" executeInMta="true" />
      </asp>
   </system.webServer>
</configuration>

Código de ejemplo

Los ejemplos de código siguientes muestran cómo configurar IIS para habilitar la comprobación del modelo de subprocesos y configurar ASP para que se ejecute en un compartimiento multiproceso.

AppCmd.exe

appcmd.exe set config "Default Web Site" -section:system.webServer/asp /comPlus.trackThreadingModel:"True" /commit:apphost
appcmd.exe set config "Default Web Site" -section:system.webServer/asp /comPlus.executeInMta:"True" /commit:apphost

Nota:

Debe asegurarse de establecer el parámetro de confirmación en apphost cuando use AppCmd.exe para configurar estas opciones. Esto confirma los valores de configuración en la sección de ubicación adecuada del archivo ApplicationHost.config.

C#

using System;
using System.Text;
using Microsoft.Web.Administration;

internal static class Sample
{
   private static void Main()
   {
      using (ServerManager serverManager = new ServerManager())
      {
         Configuration config = serverManager.GetApplicationHostConfiguration();
         ConfigurationSection aspSection = config.GetSection("system.webServer/asp", "Default Web Site");

         ConfigurationElement comPlusElement = aspSection.GetChildElement("comPlus");
         comPlusElement["trackThreadingModel"] = true;
         comPlusElement["executeInMta"] = true;

         serverManager.CommitChanges();
      }
   }
}

VB.NET

Imports System
Imports System.Text
Imports Microsoft.Web.Administration

Module Sample

   Sub Main()
      Dim serverManager As ServerManager = New ServerManager
      Dim config As Configuration = serverManager.GetApplicationHostConfiguration
      Dim aspSection As ConfigurationSection = config.GetSection("system.webServer/asp", "Default Web Site")

      Dim comPlusElement As ConfigurationElement = aspSection.GetChildElement("comPlus")
      comPlusElement("trackThreadingModel") = True
      comPlusElement("executeInMta") = True

      serverManager.CommitChanges()
   End Sub

End Module

JavaScript

var adminManager = new ActiveXObject('Microsoft.ApplicationHost.WritableAdminManager');
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST";

var aspSection = adminManager.GetAdminSection("system.webServer/asp", "MACHINE/WEBROOT/APPHOST/Default Web Site");
var comPlusElement = aspSection.ChildElements.Item("comPlus");
comPlusElement.Properties.Item("trackThreadingModel").Value = true;
comPlusElement.Properties.Item("executeInMta").Value = true;

adminManager.CommitChanges();

VBScript

Set adminManager = WScript.CreateObject("Microsoft.ApplicationHost.WritableAdminManager")
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST"

Set aspSection = adminManager.GetAdminSection("system.webServer/asp", "MACHINE/WEBROOT/APPHOST/Default Web Site")
Set comPlusElement = aspSection.ChildElements.Item("comPlus")
comPlusElement.Properties.Item("trackThreadingModel").Value = True
comPlusElement.Properties.Item("executeInMta").Value = True

adminManager.CommitChanges()