ASP COM Plus <comPlus>
O elemento <comPlus>
do elemento <asp>
define as seguintes configurações COM+ para ASP (Active Server Pages) no IIS (Serviços de Informações da Internet) 7:
A propriedade appServiceFlags contém os sinalizadores que devem ser definidos para habilitar serviços COM+ em seus aplicativos IIS 7. Depois de habilitar os sinalizadores, talvez você também precise definir outras propriedades. Para obter informações, consulte a seção Configuração presente mais adiante neste artigo.
O atributo executeInMta especifica se o ASP pode executar scripts em um apartamento multithreaded. O ASP é capaz de executar todos os seus threads em um MTA (apartamento com vários threads). Se os componentes COM forem principalmente de thread livre ou ambos threaded, a execução dos threads ASP como MTA poderá melhorar significativamente o desempenho. Por padrão, a propriedade executeInMta é definida como false, o que significa que o ASP não é executado no MTA. Defina essa propriedade como true no nível do aplicativo para permitir que o ASP seja executado no MTA.
O atributo partitionId especifica o GUID (Identificador Global exclusivo) de uma partição COM+, que é usado para isolar aplicativos Web em suas próprias partições COM+. As partições COM+ contêm versões diferentes de seus próprios componentes COM personalizados.
Observação
Se você especificar um valor para o atributo partitionId, também precisará definir o sinalizador UsePartition do atributo appServiceFlags.
O atributo sxsName especifica o nome de um aplicativo COM+ e habilita assemblies SxS (lado a lado). Assemblies SxS (lado a lado) permitem que os aplicativos ASP especifiquem qual versão de uma DLL do sistema compatível com SxS usar, como MSVCRT, MSXML, COMCTL, GDIPLUS e assim por diante.
Observação
Se você especificar um valor para o atributo sxsName, também precisará definir o sinalizador EnableSxS do atributo appServiceFlags.
O atributo trackThreadingModel especifica se o IIS 7 verifica o modelo de threading de quaisquer componentes (objetos COM) que seu aplicativo cria. A configuração preferencial desse atributo de metabase é false. Se trackThreadingModel for definido como true, as seguintes condições serão aplicadas:
O ASP usa recursos do sistema para acompanhar o modelo de threading, reduzindo o desempenho do aplicativo ASP.
Objetos criados em seu aplicativo ASP fora do método OnStartPage ou OnEndPage são liberados anteriormente ao esperado, o que causa degradação na escalabilidade do aplicativo e pode impedir que seu componente grave na resposta no método destruidor de objeto.
Se o atributo trackThreadingModel estiver definido como false e você fornecer o escopo do aplicativo aos componentes criados, esses componentes deverão agregar o marshaler de thread livre. Se você não agregar o marshaler de thread livre, o ASP gerará um erro ao tentar criar uma instância do componente. Para obter mais informações, consulte Selecionando um modelo de threading para componentes no IIS.
Compatibilidade
Versão | Observações |
---|---|
IIS 10.0 | O elemento <comPlus> não foi modificado no IIS 10.0. |
IIS 8.5 | O elemento <comPlus> não foi modificado no IIS 8.5. |
IIS 8.0 | O elemento <comPlus> não foi modificado no IIS 8.0. |
IIS 7.5 | O elemento <comPlus> não foi modificado no IIS 7.5. |
IIS 7.0 | O elemento <comPlus> do elemento <asp> foi introduzido no IIS 7.0. |
IIS 6,0 | O elemento <comPlus> substitui as seguintes propriedades de metabase dos IIS 6.0:
|
Instalação
Para dar suporte e configurar aplicativos ASP em seu servidor Web, instale o módulo ASP. Execute as etapas a seguir para instalar o módulo ASP.
Windows Server 2012 R2 ou Windows Server 2012
Na barra de tarefas, clique em Gerenciador do Servidor. – No Gerenciador do Servidor, clique no menu Gerenciar e clique em Adicionar Funções e Recursos. – No assistente Adicionar Funções e Recursos, clique em Avançar. Selecione o tipo de instalação e clique em Avançar. Selecione o servidor de destino e clique em Avançar. – Na página Funções de Servidor, expanda Servidor Web (IIS), Servidor Web, Desenvolvimento do Aplicativo e selecionar ASP.
Se a caixa de diálogo Adicionar recursos exigidos pelo ASP? for exibida, clique em Adicionar recursos. (Esta página só será exibida se você ainda não tiver instalado o serviço de função Extensões ISAPI no seu servidor.) – Na página Funções de servidor, clique em Avançar. Na página Selecionar recursos, clique em Avançar. – Na página Confirmar seleções de instalação, clique em Instalar. – Na página Resultados, clique em Fechar.
Windows 8 ou Windows 8.1
Na tela Iniciar, mova o ponteiro até o canto inferior esquerdo, clique com o botão direito do mouse no botão Iniciar e clique em Painel de Controle.
Em Painel de Controle, clique em Programas e Recursos e clique em Ativar ou desativar recursos do Windows.
Expanda Serviços de Informações da Internet, Serviços da World Wide Web, Recursos de Desenvolvimento de Aplicativos e selecione ASP.
Observação
A função Extensões ISAPI será selecionada se ainda não tiver sido instalada.
Clique em OK.
Clique em Fechar.
Windows Server 2008 R2 ou Windows Server 2008
- Na barra de tarefas, clique em Iniciar, vá para Ferramentas Administrativas e clique em Gerenciador do Servidor.
- No painel de hierarquia do Gerenciador do Servidor, expanda Funções e clique em Servidor Web (IIS).
- No painel Servidor Web (IIS), role até a seção Serviços de Função e clique em Adicionar Serviços de Função.
- Na página Selecionar Serviços de Função do Assistente para Adicionar Serviços de Função, selecione ASP.
- Se a caixa de diálogo Adicionar serviços de função exigidos pelo ASP for exibida, clique em Adicionar Serviços de Função Necessários. (Esta página só será exibida se você ainda não tiver instalado o serviço de função Extensões ISAPI no seu servidor.)
- Na página Selecionar Serviços de Função, clique em Avançar.
- Na página Confirmar Seleções de Instalação, clique em Instalar.
- Na página Resultados , clique em Fechar.
Windows Vista ou Windows 7
Na barra de tarefas, clique em Iniciar e, depois, em Painel de Controle.
Em Painel de Controle, clique em Programas e Recursos e clique em Ativar ou desativar Recursos do Windows.
Expanda Serviços de Informações da Internet, em seguida, World Wide Web Services e Recursos de Desenvolvimento de Aplicativos.
Selecione ASP e clique em OK.
Instruções
Como definir as configurações de estado de sessão do ASP para um site ou aplicativo
Abra o Gerenciador dos Serviços de Informações da Internet (IIS):
Caso você esteja usando o Windows Server 2012 ou o Windows Server 2012 R2:
- Na barra de tarefas, clique em Gerenciador do Servidor, em Ferramentas e em Gerenciador dos Serviços de Informações da Internet (IIS).
Se você estiver usando o Windows 8 ou Windows 8.1:
- Mantenha pressionada a tecla Windows, pressione a letra X e clique em Painel de Controle.
- Clique em Ferramentas Administrativas e clique duas vezes em Gerenciador dos Serviços de Informações da Internet (IIS).
Caso você esteja usando o Windows Server 2008 ou o Windows Server 2008 R2:
- Na barra de tarefas, clique em Iniciar, vá para Ferramentas Administrativas e clique em Gerenciador dos Serviços de Informações da Internet (IIS).
Se você estiver usando o Windows Vista ou Windows 7:
- Na barra de tarefas, clique em Iniciar e, depois, em Painel de Controle.
- Clique duas vezes em Ferramentas Administrativas e clique duas vezes em Gerenciador dos Serviços de Informações da Internet (IIS).
No painel Conexões, expanda o nome do servidor, expanda Sites e navegue até o site ou aplicativo Web que você deseja configurar.
No painel Página Inicial do site ou aplicativo, clique duas vezes em ASP.
No painel ASP, expanda a seção Propriedades Com Plus e defina as configurações desejadas.
Clique em Aplicar no painel Ações.
Configuração
Atributos
Atributo | Descrição | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
appServiceFlags |
Atributo de sinalizadores opcionais. Contém os sinalizadores que devem ser definidos para habilitar serviços COM+ em seus aplicativos IIS. O atributo appServiceFlags pode ter um dos valores possíveis a seguir. O valor padrão é None .
|
||||||||||
executeInMta |
Atributo booliano opcional. Especifica se o ASP é executado em um ambiente multithread. O valor padrão é false . |
||||||||||
partitionId |
Atributo de cadeia de caracteres opcional. Especifica o Identificador Global Exclusivo da partição COM+. Observação: esse atributo é necessário quando o atributo appServiceFlags é definido como UsePartition O valor padrão é 00000000-0000-0000-0000-000000000000 . |
||||||||||
sxsName |
Atributo de cadeia de caracteres opcional. Observação: esse atributo é necessário quando o atributo appServiceFlags é definido como EnableSxS. Especifica o nome do aplicativo COM+. |
||||||||||
trackThreadingModel |
Atributo booliano opcional. Especifica se a verificação de modelo de thread está habilitada. Um valor true significa que o IIS respeita o modelo de threading dos componentes que um aplicativo cria. O valor padrão é false . |
Elementos filho
Nenhum.
Exemplo de configuração
O exemplo de configuração a seguir mostra como configurar o IIS para habilitar a verificação de modelo de thread e configurar o ASP para execução em um compartimento multithreaded.
<configuration>
<system.webServer>
<asp>
<comPlus trackThreadingModel="true" executeInMta="true" />
</asp>
</system.webServer>
</configuration>
Exemplo de código
Os exemplos de código a seguir mostram como configurar o IIS para habilitar a verificação de modelo de thread e configurar o ASP para execução em um compartimento multithreaded.
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
Observação
Defina o parâmetro commit para apphost
quando usar AppCmd.exe para definir essas configurações. Isso confirma as definições de configuração para a seção de local apropriado no arquivo 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()