ID do artigo: 189539 - Última revisão: terça-feira, 14 de agosto de 2007 - Revisão: 3.3

INFO: VB 6.0 Leiame parte 8: problemas de Designer de WebClass

Dica do SistemaEste artigo aplica-se a um sistema operativo diferente do que está a utilizar. Foi desactivado o conteúdo do artigo, que pode não ser relevante para si.

Nesta página

Expandir tudo | Recolher tudo

Sumário

As informações a seguir incluem a documentação e soluções alternativas para o Visual Basic 6.0. Essas informações também podem ser encontradas no arquivo README.htm que acompanha o Visual Basic 6.0 no CD-ROM do Visual Basic 6.0. Consulte a seção Referências deste artigo para obter uma lista dos artigos da Microsoft Knowledge Base relacionado ao Leiame do Visual Basic 6.0.

A seguir está uma lista de todas as partes do arquivo Leiame:
Part 1.  Important Issues - Please Read First!
Part 2.  Data Access Issues and DataBinding Tips
Part 3.  Control Issues
Part 4.  Language Issues
Part 5.  Samples Issues
Part 6.  Wizard Issues
Part 7.  Error Message Issues
Part 8.  WebClass Designer Issues
Part 9.  DHTML Page Designer Issues
Part 10. Extensibility issues
Part 11. Miscellaneous Issues
Part 12. Microsoft Transaction Server (MTS) Issues
Part 13. Dictionary Object
Part 14. Visual Component Manager
Part 15. Application Performance Manager
				

Mais Informações

Problemas de WebClass Designer:

As Webclasses: "meu redor." Não há suporte

Não é possível usar "Mim" referência em seu código de WebClass para fazer referência o objeto WebClass. Por exemplo, a documentação com freqüência mostra que você pode escrever código como "Me.URLData = valor". Não há suporte para isso. Em vez de usar me, você deve usar a instrução "Webclass". Por exemplo, em vez de Me.URLData, você usaria Webclass.URLData.

As Webclasses: Sintaxe inválida de HTML pode causar erro não especificado

Se um dos modelos que você adicionar ao seu WebClass contém HTML malformado, às vezes, você pode receber uma mensagem de erro ao carregar o modelo. A mensagem informa somente que ocorreu um erro não especificado. Por exemplo, nas páginas mais antigas pode haver duas marcas BODY, que especifica um plano de fundo GIF e outra que especifica uma cor. Você também pode ter erros na abertura e fechamento marcas, aninhamento inválido ou outros problemas de sintaxe não coincidentes. Se você receber esta mensagem em carregar um modelo, verifique cuidadosamente seu HTML ou executar o arquivo por meio de um verificador de sintaxe HTML, em seguida, recarregue o modelo.

As Webclasses: Evite usar variáveis globais ou estáticos em um WebClass

Uma alocação de variáveis globais ocorre por thread em um ambiente multithread. Para obter mais informações, selecionado pesquisa que online, com a pesquisa apenas títulos, para "Escalabilidade e multithreading" na documentação do MSDN Library Visual Studio 6.0.

As Webclasses: Algumas alterações HTML externos não são detectadas automaticamente

Ao trabalhar em um modelo HTML no designer do WebClass, quaisquer alterações feitas no arquivo HTML fora do Visual Basic (por exemplo, em um editor HTML externo) geralmente são detectadas pelo Visual Basic ao retornar para o designer. Nesses casos, você será solicitado a recarregar o arquivo alterado. Em alguns casos, não são detectadas alterações externas. A ocorrência mais comum desse problema é quando você define foco de banco de dados para uma janela Visual Basic seja o designer de WebClass banco de dados antes de alternar para um editor externo. Após retornar ao Visual Basic, o aviso de atualização não aparecer. Isso pode resultar nas alterações externas sejam sobrescritas quando você salva o projeto, a menos que você atualizar o arquivo no seu próprio.

Observação: Você também poderá ver essa situação se você editar o modelo enquanto está executando o seu projeto.

Em casos em que você fizer alterações no HTML e não é solicitados a atualizar, você pode atualizar manualmente, selecionando Atualizar modelo de HTML no menu de atalho do modelo.

Observação: Quando você navegar para o editor HTML externo, é melhor usar o comando de menu do HTML Editar barra de ferramentas botão ou atalho. Se você usar a barra de tarefas ou a combinação de teclas ALT+TAB para navegar para um editor, certifique-se de salvar seu projeto antes de sair do Visual Basic ou pode perder as alterações feitas no designer.

WebClasses:

Configurações de arquivo do IIS Administration Console não confirmadas para modelos

O console de administração do IIS permite que o administrador de servidor especificar propriedades para arquivos que estão disponíveis no servidor IIS. Essas propriedades incluem cabeçalhos HTTP, segurança de arquivo e erros personalizados. Essas propriedades serão definidas em um arquivo de modelo do WebClass não se esse arquivo for enviado para o cliente pelo tempo de execução WebClass.

As Webclasses: Unattended Execution

Um projeto que contém um WebClass deve ter a opção Unattended Execution selecionada na caixa de diálogo Propriedades do projeto. Essa propriedade tem os seguintes benefícios:
  • Definir essa propriedade permite que o WebClass ser executado como um objeto de modelo de compartimento. Isso permite que o WebClass atender a uma solicitação HTTP no thread no qual a solicitação foi recebida em vez de processar todas as solicitações em um único segmento.

    Observação: Você deve definir a propriedade Threading Model na caixa de diálogo Propriedades para Apartment thread para ser executado como um objeto de modelo de compartimento.
  • Definir essa propriedade faz com que a DLL de tempo de execução do Visual Basic registrar todos os erros de tempo de execução no log de eventos em vez de exibir o erro em um prompt. Exibir a mensagem em um prompt seria travar o thread IIS.
  • Definir essa propriedade faz com que qualquer chamada para a função do Visual Basic MsgBox para registrar sua mensagem no log de eventos em vez de exibir um prompt. Exibir a mensagem em um prompt seria travar o thread IIS.

As Webclasses: Manter na memória

Um projeto Visual Basic é executado dentro da estrutura de ambiente de tempo de execução do Visual Basic. Quando um projeto Visual Basic começa executando, essa estrutura precisa ser inicializado. A inicialização assume a forma de alocação de estado interno e a inicialização. Em um ambiente multithread do Visual Basic, a inicialização deve ser feita no nível do processo e para cada segmento que é usado para criar um objeto do Visual Basic.

A inicialização acima é para o tempo de execução do Visual Basic. Da mesma forma, para cada projeto Visual Basic cujos objetos são criados, o projeto deve ser inicializado no processo e o nível de thread do Visual Basic.

Quando um projeto Visual Basic não estiver mais em uso em um thread ou processo (todos os objetos criados em thread ou processo são destruídos), o estado acima será redefinido e a memória é realocada. Conseqüentemente, se um thread ou processo cria repetidamente e, em seguida, exclui rapidamente todos os seus objetos do Visual Basic, a sobrecarga da alocação e realocação de tempo de execução e estado do projeto é considerável. Isso terá um impacto negativo no desempenho do Visual Basic.

Essa situação ocorre no IIS, especialmente quando um ASP cria um objeto do Visual Basic, invoca algumas operações sobre ela e, em seguida, libera-lo. Isso é precisamente o caso para as WebClasses em que o WebClass StateManagement está definida como wcNoState. Como resultado, o cenário de WebClass mais comumente usado irá ter um desempenho ruim.

A propriedade de projeto RetainInMemory permite que o desenvolvedor de Visual Basic substituir esse comportamento. Quando essa propriedade é definida, depois que o projeto Visual Basic é inicializado dentro de um processo ou segmento, seu estado nunca será redefinido ou liberado. Além disso, como a presença de um projeto básico Visual carregado impede que o descarregamento do Visual Basic tempo de execução, o tempo de execução nunca será redefinido no processo ou segmento do Visual Basic. No caso do IIS, depois que um WebClass cuja propriedade RetainInMemory é definida é carregado em um segmento IIS, ele será nunca redefinido em que thread. Isso melhorará o desempenho do WebClass.

Observe que RetainInMemory se refere a retenção do estado do projeto Visual Basic e o tempo de execução Visual Basic. Ele não faz referência a retenção de instâncias de objeto do projeto Visual Basic.

Em projetos padrão do Visual Basic, projetos serão descarregados da segmentos ou processos, assim que eles não estão sendo usados. Em um WebClass projeto, esse modelo pode causar problemas de desempenho, pois o servidor deve criar um objeto, chamar um método nele e destruí-lo. Você pode otimizar suas as WebClasses definindo uma propriedade de projeto chamada manter na memória. A propriedade manter na memória impede que o projeto que está sendo descarregado até que o thread ou processo no qual ele está sendo executado é encerrado.

WebClasses:

Estatísticas para diferenças entre depuração e versões compilados

Visual Basic fornece a capacidade de depurar componentes em execução em um serviço do Windows NT. Um dos usos mais comuns desse recurso é depurar um aplicativo de IIS. Visual Basic consegue isso executando o componente no IDE do Visual Basic. Quando o componente é executado, o IIS cria um objeto do proxy fornecido pelo Visual Basic, que por sua vez cria o objeto real em execução no IDE do Visual Basic. Em seguida, o IIS se comunica com o objeto por meio do DCOM. Este comportamento da depuração é muito diferente de como o projeto é executado como uma DLL compilada. Comportamento específico que está presente no modo de depuração funciona de modo diferente quando você executa a versão compilada do projeto. Devido a isso, você deve ter o comportamento compilado o projeto em mente quando você cria seu WebClass.

A seguir estão as principais áreas em que você deve adaptar seu aplicativo para o comportamento que do WebClass exibe como um aplicativo compilado:
  • Use somente DSNs do sistema porque outros DSNs não funcionará além do modo de depuração.
  • Não use um banco de dados do Access em um computador remoto em seu projeto. Enquanto isso funcionará no modo de depuração, não será capaz de usar o banco de dados no aplicativo compilado.
  • Não permitir que o WebClass adicionar propriamente dito ou outros componentes do Visual Basic ao objeto de aplicativo do Active Server Page. Tentar fazer isso irá gerar um erro quando você executar o aplicativo compilado.
  • Compreenda o contexto de segurança do aplicativo compilado. Consulte a seção "As Webclasses: artigos de interesse" abaixo para obter informações sobre um artigo sobre segurança.
  • Tenha em mente que o WebClass compilado será acessado de vários threads, em vez de mesmo thread, como é o caso no modo de depuração. Variáveis estáticas e globais não serão mantidas pelos threads. Para obter mais informações, procure online, com títulos pesquisa somente selecionado, para "Escalabilidade e multithreading" na MSDN Library Visual Studio 6.0 documentação.
  • Compreenda que, embora você verá a mensagem solicita que no modo de depuração, WebClass compilado grava o todos os erros como entradas no log de eventos do NT ou em um arquivo de log criado no diretório Windows. Não aparece para erros no modo compilado.
  • Enquanto Unattended Execution deve ser definido para as WebClasses, você não verá os efeitos colaterais de Falha ao definir essa propriedade no modo de depuração. Consulte a seção Unattended Execution acima para obter detalhes.

As Webclasses: Dicas de desempenho

A seguir estão dicas diversas que você pode incorporar para melhorar o desempenho dos aplicativos do IIS:
  • Ao executar a partir do IDE, contexto do usuário interativo é usado. Quando executando compilado, o usuário anônimo do IIS é usado a menos que outra configuração de segurança é configurada no servidor.
  • Certifique-se que as opções Unattended Execution e manter na memória são selecionadas na caixa de diálogo Propriedades para seu aplicativo.
  • Se seu aplicativo não inclui quaisquer substituições de texto, defina a propriedade TagPrefix como uma seqüência de caracteres vazia. Isso impede que o WebClass executando verificações desnecessárias.
  • Não armazene objetos do Visual Basic (ou qualquer outro objeto COM do modelo de apartment) no objeto de sessão dos Active Server Pages. Isso pode afetar a escalabilidade. Você pode armazenar seqüências de caracteres no objeto Session sem efeitos negativos. Consulte a documentação do IIS para obter mais detalhes.
  • Limite o uso de variantes no seu aplicativo.
  • Quando StateManagement propriedade do WebClass é definida como wcRetainInstance, desempenho diminuirá quando o número de clientes aumenta significativamente.
  • Se seu aplicativo estiver executando uma transação de cliente para um modelo de WebClass que não contém qualquer substituições ou não usa a propriedade URLData, você deve acessar o modelo diretamente por meio de uma URL.
  • Ao usar o método URLFor, especificar o Webitem pelo nome da seqüência de caracteres em vez de por uma referência de objeto.
  • Use tipos específicos ao criar e invocar outros componentes.

As Webclasses: Diversos problemas

  • Quando o depurador para seu aplicativo IIS atinge um ponto de interrupção em qualquer evento, pressionando a tecla F5 para continuar não retornará o foco para o Internet Explorer. Você deve alternar para o Internet Explorer manualmente depois de continuar.
  • Nomes de WebClass e nomes de marca são sem diferenciação de maiúsculas e minúsculas. Você não pode renomear um WebClass para o mesmo nome que tinha anteriormente, alterar apenas o caso. Por exemplo, se você alterar um WebClass chamado Orderentry para OrderEntry, o nome original permanecerá inalterado.
  • Evite executar várias instâncias de navegador durante a depuração. Se mais de uma instância do Internet Explorer estiver aberta, Visual Basic não controlar de qual navegador esteja executando o projeto WebClass. Se você tiver dois navegadores abrir, um apontando para o projeto e um apontando para outra página, dois navegadores serão afetados quando você finalizar a sessão de depuração.
  • Você pode receber um erro se você tentar compilar seu IIS mproject de aplicativo a partir da linha de comando. Uma maneira para contornar este problema é abrir o projeto no Visual Basic, dirty o designer de alguma maneira e, em seguida, salve o projeto. Em seguida, você pode reiniciar a compilação a partir da linha de comando e ele deve funcionar corretamente.
  • Se você deseja botões de programa nos modelos de HTML no seu WebClass, você deve estar ciente de dois itens. Primeiro, os botões devem ser do tipo enviar. Você pode definir isso adicionando um parâmetro para o HTML para o elemento botão informando tipo = enviar. Em segundo lugar, você não pode código para os botões diretamente; em vez disso, você deve conectar seu elemento de formulário. Ou você pode colocar cada botão em um formulário separado ou você pode usar formulário coleção do objeto Request para determinar o botão que originou o evento.

As Webclasses: Artigos de interesse

As Webclasses unir várias tecnologias distintas, inclusive Visual Basic, ASP, Internet Information Server e Windows NT. Há vários artigos disponíveis no site da Microsoft que podem ser úteis para você como você aprendeu sobre as tecnologias por trás WebClasses. Alguns dos artigos que podem ser particularmente úteis estão listados abaixo:


  • "INFO: ativação do COM servidores e estações do Windows NT" Base de Conhecimento artigo 169321  (http://support.microsoft.com/kb/169321/EN-US/ )
  • "Como: Iniciando ActiveX servidores de extensões ISAPI" Base de Conhecimento artigo 156223  (http://support.microsoft.com/kb/156223/EN-US/ )
  • "INFO: implicações de segurança para aplicativos do IIS" artigo Base de Conhecimento Microsoft 158229 KB

As Webclasses: Formatação no arquivo HTML de origem

Você pode ver uma perda de formatação no seu código-fonte HTML depois de adicionar um arquivo de modelo ao designer WebClass. Por exemplo, o WebClass pode remover alguns espaços em branco estranhos do arquivo original. Isso não afetará o funcionamento da sua página HTML de forma alguma.

As Webclasses: Não é possível suporte elemento LINK do HTML

As marcas de LINK são usadas em uma página HTML em folhas de estilo de referência. Enquanto as páginas HTML em um projeto WebClass podem conter essa marca, você não pode usar o designer para acessar o elemento LINK e o processo de código do Visual Basic para ele. Se você precisar manipular uma marca de LINK em seu código, você pode adicionar manualmente notação de evento para a marca como mostrado na documentação online. Para ver a notação, pesquise online, com títulos pesquisa somente selecionado, para "Manualmente adicionando eventos notação para um .htm file" na MSDN Library Visual Studio 6.0 documentação.

As Webclasses: Ao usar o Visual SourceSafe com projetos WebClass,

Você deve verificar manualmente em arquivos .htm do projeto

Quando você verificar um projeto de aplicativo do IIS no Visual SourceSafe, as páginas HTML associadas com o projeto não são verificadas automaticamente na árvore de SourceSafe com o restante dos arquivos de projeto. Você deve adicioná-los manualmente para a árvore como arquivos relacionados.

As Webclasses: TagPrefix deve ser WC

Embora o valor padrão para a propriedade TagPrefix para seus modelos de WebClass seja WC @, é preferível usar WC: sempre que possível indicar substituições de texto em seus arquivos de modelo.

As Webclasses: Variant parâmetro no método URLFor

Parâmetro de método URLFor WebItem pode aceitar um WebItem objeto ou o nome de um WebItem como uma seqüência de caracteres. Por motivos de desempenho, você deve usar o formulário de cadeia de caracteres ao fazer referência vários webitems dentro de uma solicitação.

As Webclasses: Dados de seqüenciamento são passada usando o parâmetro WCU &

Na seção "as manipulação Sequencing em WebClasses" do livro criando aplicativos de Internet no guia de ferramentas do componente do MSDN, a documentação do afirma incorretamente que você pode mover dados entre o cliente e servidor usando uma? parâmetro dados acrescentado na sua solicitação de URL. Na verdade, você deve usar um parâmetro WCU em vez de &? dados. A sintaxe correta para a solicitação é:
WCI = webitem1? WCE = event1 & WCU = 01

WebClasses:

Constantes da propriedade StateManagement contém referência de propriedade incorreto

O tópico "Constantes da propriedade StateManagement" afirma incorretamente que a constante RetainInstance faz com que o WebClass manter dados de estado até que o objeto WebClass chama o método SetAbort. Isso deve dizer que dados são mantidos até que o objeto WebClass chama o método ReleaseInstance. Para ver o tópico da Ajuda incorretos, pesquise online, com títulos pesquisa somente selecionado, para "Constantes da propriedade StateManagement" na MSDN Library Visual Studio 6.0 documentação.

As Webclasses: Estado e o objeto de sessão

Se StateManagementType do WebClass wcRetainInstance, uma instância separada do WebClass será mantida no objeto de sessão ASP por sessão de usuário. Em alguns casos, ele poderá parecer você que estado não está sendo mantido quando você realmente tem duas instâncias de um WebClass em sua sessão de objeto. Uma situação em que isso pode ocorrer é quando você tem dois diretórios virtuais que ambos apontam para o mesmo local. Se você criar um diretório virtual quando você iniciar a sessão de depuração e fazer referência a segunda em seu código, você irá iniciar, na verdade, uma segunda instância do WebClass quando o código é ativado. Consulte a documentação de ASP no MSDN para obter detalhes sobre como o objeto Active Server Pages sessão é implementado.

WebClasses:

Código correções no tópico da Ajuda "Definindo de WebClass eventos em tempo de execução"

No tópico "Definindo WebClass eventos em tempo de execução", o código de exemplo mostra uma declaração que lê:
   rs = New ADO.Recordset
				

A sintaxe correta para esta linha deve ser:
   Set rs = New ADODB.Recordset
				

As Webclasses: HTML e arquivos ASP não incluídos nos pacotes padrão

Quando o pacote um aplicativo do IIS em um pacote padrão usando o Assistente de implantação, o Assistente de pacote e não inclui automaticamente os arquivos .htm e .asp para o projeto no arquivo .cab, ele cria. Você deve incluir esses arquivos manualmente enquanto você estiver compactando o aplicativo.

As Webclasses: Erro não especificado

Um "Erro não especificado" ocorre se você adicionar um WebClass existentes para um projeto novo e clique no ícone de modelo antes do projeto tiver sido salvo. Se você receber um aviso dizendo que "Erro não especificado ocorreu" neste contexto, salve seu projeto.

Referências

Para obter informações adicionais, leia os seguintes artigos na Base de dados de Conhecimento da Microsoft:
170164  (http://support.microsoft.com/kb/170164/EN-US/ ) INFO: VB 6.0 Leiame parte 1: problemas importantes - ler primeiro!

170163  (http://support.microsoft.com/kb/170163/EN-US/ ) INFO: VB 6.0 Leiame parte 2: problemas de acesso/vinculando dados

170162  (http://support.microsoft.com/kb/170162/EN-US/ ) INFO: VB 6.0 Leiame parte 3: problemas de controle

170161  (http://support.microsoft.com/kb/170161/EN-US/ ) INFO: VB 6.0 Leiame parte 4: problemas de idioma

170160  (http://support.microsoft.com/kb/170160/EN-US/ ) INFO: VB 6.0 Leiame parte 5: problemas de exemplos

190046  (http://support.microsoft.com/kb/190046/EN-US/ ) INFO: VB 6.0 Leiame parte 6: problemas de Assistente

170158  (http://support.microsoft.com/kb/170158/EN-US/ ) INFO: VB 6.0 Leiame parte 7: problemas de mensagens de erro

190249  (http://support.microsoft.com/kb/190249/EN-US/ ) INFO: VB 6.0 Leiame Part 9: problemas de designer da página DHTML

170154  (http://support.microsoft.com/kb/170154/EN-US/ ) INFO: VB 6.0 Leiame Part 10: problemas de extensibilidade

170157  (http://support.microsoft.com/kb/170157/EN-US/ ) INFO: VB 6.0 Leiame parte 11: problemas diversos

170156  (http://support.microsoft.com/kb/170156/EN-US/ ) INFO: VB 6.0 Leiame Part 12: Transaction Server (MTS) problemas

191792  (http://support.microsoft.com/kb/191792/EN-US/ ) INFO: VB 6.0 Part Leiame 13: objeto Dictionary

191791  (http://support.microsoft.com/kb/191791/EN-US/ ) INFO: VB 6.0 Leiame Part 14: Visual Component Manager

191790  (http://support.microsoft.com/kb/191790/EN-US/ ) INFO: VB 6.0 Leiame Part 15: aplicativo Performance Explorer

A informação contida neste artigo aplica-se a:
  • Microsoft Visual Basic 6.0 Professional Edition
  • Microsoft Visual Basic Enterprise Edition for Windows 6.0
Palavras-chave: 
kbmt kbappsetup kbdcom kbhtml kbinfo kbreadme kbwebclasses kbwizard KB189539 KbMtpt
Tradução automáticaTradução automática
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: 189539  (http://support.microsoft.com/kb/189539/en-us/ )