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:
|
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
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.
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
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.
En Panel de control, haga clic en Programas y características y después en Activar o desactivar las características de Windows.
Expanda sucesivamente Internet Information Services, World Wide Web Services y Características de desarrollo de aplicaciones y, a continuación, seleccione ASP.
Nota:
El rol de extensiones ISAPI se seleccionará si aún no se ha instalado.
Haga clic en OK.
Haga clic en Cerrar.
Windows Server 2008 o Windows Server 2008 R2
- En la barra de tareas, haga clic en Inicio, seleccione Herramientas administrativas y, luego, haga clic en Administrador del servidor.
- En el panel de jerarquía del Administrador del servidor, expanda Roles y, luego, haga clic en Servidor web (IIS).
- En el panel Servidor web (IIS), desplácese hasta la sección Servicios de rol y, luego, haga clic en Agregar servicios de rol.
- En la página Seleccionar servicios de rol del Asistente para agregar servicios de rol, seleccione ASP.
- 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).
- En la página Seleccionar servicios de rol, haga clic en Siguiente.
- En la página Confirmar selecciones de instalación, haz clic en Instalar.
- En la página Resultados , haga clic en Cerrar.
Windows Vista o Windows 7
En la barra de tareas, haga clic en Inicio y, luego, haga clic en Panel de control.
En Panel de control, haga clic en Programas y características y después en Activar o desactivar las características de Windows.
Expanda Internet Information Services, luego World Wide Web Services y luego Características de desarrollo de aplicaciones.
Seleccione ASP y después haga clic en Aceptar.
Procedimientos
Cómo configurar los valores de estado de sesión de ASP para un sitio o aplicación
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).
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.
En el panel Inicio del sitio o la aplicación, haga doble clic en ASP.
En el panel ASP, expanda la sección Propiedades de Com Plus y establezca la configuración deseada.
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 .
|
||||||||||
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()