Como resolver reter em problemas de memória e Unattended Execution nos controles ActiveX que estão sendo executados no IIS

IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine Translation ou MT), não tendo sido portanto traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes ao software de tradução automática (MT). Obrigado.

Clique aqui para ver a versão em Inglês deste artigo: 833891
Este artigo foi arquivado. É oferecido "como está" e não será mais atualizado.
É altamente recomendável que todos os usuários atualizem para Microsoft (IIS) versão 7.0 em execução no Microsoft Windows Server 2008. O IIS 7.0 aumenta significativamente a segurança de infra-estrutura da Web. Para obter mais informações sobre tópicos relacionados à segurança do IIS, visite o seguinte site:Para obter mais informações sobre o IIS 7.0, visite o seguinte site:
Sumário
Este artigo ajuda os desenvolvedores e administradores do servidor Web para descobrir e resolver problemas com DLLs do miscompiled Microsoft Visual Basic 6.0.
Mais Informações
Microsoft Internet Information Services (IIS) é um processo multi-segmentado que requer consideração especial quando você desenvolver e usa DLLs do Visual Basic 6.0.

Duas propriedades do Visual Basic 6.0, a propriedade reter na memória e a propriedade Unattended Execution , dois deve ser definida como True para ser executado no IIS. DLLs de Visual Basic miscompiled são o Visual Basic que são compilados com a propriedade reter na memória definida como False, com a propriedade Unattended Execution definida como False, ou com ambas as propriedades definidas como False.

Para obter mais informações sobre a reter na propriedade de memória e a propriedade Unattended Execution, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
241896Threading problemas com componentes ActiveX do Visual Basic 6.0
Diferentes sintomas podem ocorrer em seu servidor Web se DLLs do Visual Basic são miscompiled. Por exemplo, IIS pode parar de responder (travar), o IIS poderá falhar ou você pode receber mensagens de erro HTTP 500.

Você pode baixar e usar o Kit de ferramentas Debug do IIS para determinar se você tem qualquer DLLs carregadas do Visual Basic que são miscompiled. Para baixar o Kit de ferramentas Debug do IIS, visite o seguinte site da Microsoft: Para verificar essas propriedades em suas DLLs carregadas do Visual Basic, extrair os arquivos de Kit de ferramentas e, em seguida, execute o seguinte comando em seu servidor Web:
iisdump -s
Este comando gera um arquivo que é chamado Sysinfo_ datetimestamp .XML. Verificar o arquivo de informações que semelhante à seguinte:
DLL Path="C:\INETPUB\WWWROOT\SIMPLE.DLL"	Version="1.0.0.0"	Timestamp="12/01/2004 15:08:42"	UnattendedExecution="false"	RetainInMemory="false"
se a propriedade reter na memória é definida como False ou se a propriedade Unattended Execution é definida como False, a DLL do Visual Basic é miscompiled.

Se você tem miscompiled DLLs do Visual Basic, use um dos seguintes métodos para resolver o problema com base na sua versão do IIS:

IIS 4.0

Certifique-se que a versão do Msvbvm60.dll é 6.0.96.32 ou posterior e que o arquivo é 21 de junho de 2002 ou posterior. Se você não tem esta versão ou uma versão posterior do Msvbvm60.dll, você poderá atualizar o runtime do Visual Basic. Para atualizar o runtime do Visual Basic, visite o seguinte site da Microsoft: Observação Como alternativa, você pode recompilar a DLL do Visual Basic com a propriedade reter na memória definida como True e a propriedade Unattended Execution definida como True.

IIS 5.0

Certifique-se que a versão do MSvbvm60.dll é 6.0.96.32 ou posterior e que o arquivo é 21 de junho de 2002 ou posterior. Para fazer isso, use um dos seguintes métodos:
  • Instalar o Microsoft Windows 2000 Server Service Pack 4 (SP4).

    Para obter mais informações sobre como localizar Windows Server Service Pack 4, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
    260910Como obter o service pack mais recente do Windows 2000
  • Atualização de runtime do Visual Basic. Para atualizar o runtime do Visual Basic, visite o seguinte site da Microsoft:
Observação Como alternativa, você pode recompilar a DLL do Visual Basic com a propriedade reter na memória definida como True e a propriedade Unattended Execution definida como True.

IIS 5.1

Certifique-se que a versão do Msvbvm60.dll é 6.0.96.32 ou posterior e que o arquivo é 21 de junho de 2002 ou posterior. Se você não tem esta versão ou uma versão posterior do Msvbvm60.dll, você poderá atualizar o runtime do Visual Basic. Para atualizar o runtime do Visual Basic, visite o seguinte site da Microsoft: Observação Como alternativa, você pode recompilar a DLL do Visual Basic com a propriedade reter na memória definida como True e a propriedade Unattended Execution definida como True.

IIS 6.0

O servidor pode estar sendo executado no modo de isolamento do processo de trabalho ou no modo de compatibilidade.

Se o servidor está sendo executado em modo de isolamento do processo do operador e se o Service Pack 1 (SP1) estiver instalado, nenhuma ação é necessária. Se o SP1 não estiver instalado, siga um destes procedimentos:
  • Crie um arquivo de configuração chamado W3wp.exe.cfg. Colocar esse arquivo no seguinte local:
    % windir%\system32\inetsrv
    O arquivo deve conter o seguinte texto:
    [Options]Unattended=1Retained=1
  • Verifique se DLLs personalizadas do Visual Basic e DLLs de Visual Basic de terceiros que são compilados com a propriedade de reter na memória definido como falso ou a propriedade Unattended Execution definida para False são recompilados com dois a reter na memória propriedade definida como True e a propriedade Unattended Execution definida como True.
Se o servidor está sendo executado no modo de compatibilidade do IIS 5.0, você pode seguir as instruções para o IIS 5.0. Observe, no entanto, que você não pode instalar o Windows 2000 Server SP4 no Microsoft Windows Server 2003.

Como alternativa, você pode recompilar a DLL do Visual Basic com a propriedade reter na memória definida como True e a propriedade Unattended Execution definida como True.
Referências
Para obter mais informações, clique nos números abaixo para ler os artigos na Base de dados de Conhecimento da Microsoft:
264957DLL do Visual Basic tem vazamentos de memória e falhas no COM + se 'Manter in memory' não é definido
307211Você pode configurar a opção de execução automática e a opção mantida na memória na versão mais recente do Msvbvm60.dll
301237Como criar um modelo de projeto do Visual Basic para criar componentes do IIS
186273Erro: AV executando o componente interno VB em ambiente multithread
243548Diretrizes de design para componentes do Visual Basic em ASP
191119CORRECÇÃO: VB classes podem causar IIS ter violações de acesso
Visual basic vb dll msvbvm60.dll msvbvm manter memória execução autônoma RIM UE RIM/UE activex componentes miscompiled recompilar travar falha iis 4 iis 5 iis 6

Aviso: este artigo foi traduzido automaticamente

Propriedades

ID do Artigo: 833891 - Última Revisão: 12/08/2015 05:48:41 - Revisão: 4.1

Microsoft Internet Information Server 4.0, Microsoft Internet Information Services 5.0, Microsoft Internet Information Services version 5.1, Microsoft Internet Information Services 6.0

  • kbnosurvey kbarchive kbmt kbhowto KB833891 KbMtpt
Comentários