Help and Support

ID do artigo: 325780 - Última revisão: quarta-feira, 4 de setembro de 2002 - Revisão: 1.1

PROBLEMA: PutOrderFormValue requer alto isolamento quando vários sites estão no mesmo servidor

Expandir tudo | Recolher tudo

Sintomas

Quando dois sites da Microsoft Commerce Server estão configurados para ser executado no mesmo servidor, o formulário de ordem pode ser preenchido com dados do site incorreto se você chamar o método PutOrderFormValue sem todos os três parâmetros, conforme mostrado no seguinte código de exemplo:
Set mscsOrderGrp = LoadBasket("{3991347A-1A14-4D0B-8D2E-FA52AF46C1A5}")

Set dictItem = Server.CreateObject("Commerce.Dictionary") 
dictItem.product_catalog = "generic"
dictItem.product_catalog_base = "generic"
dictItem.product_id = "Valerie"
dictItem.Quantity = 3
Call mscsOrderGrp.AddItem(dictItem)

Call mscsOrderGrp.PutOrderFormValue("locationId", "1" )
				

Causa

Porque a chamada ao método PutOrderFormValue não inculde não o nome do formulário ordem, o formulário de ordem errada é atualizado. O método PutOrderFormValue é em Requisition.dll. Esse método não é possível diferenciar OrderForm quando mais de um site está no mesmo aplicativo IIS (Serviços de informações da Internet) pool.

Resolução

Altere a chamada para PutOrderFormValue para que ele inclui o nome do OrderForm como terceiro parâmetro:
Call mscsOrderGrp.PutOrderFormValue(sKey, sValue, sOrderFormName)
				
se você não pode alterar o código do site, configurar cada site com proteção de aplicativo definido como Alto (Isolado) . Você pode fazer isso no Commerce Server Manager. Localize o site da Web padrão e depois definir as propriedades dos dois diretórios virtuais. Você também deve aplicar as alterações a todos os seus arquivos.

Situação

Esse comportamento é próprio do projeto.

Mais Informações

Microsoft Commerce Server 2000 funcionará em sua configuração no modo de Alta (isolada) . Por padrão, (Inetinfo.exe) executa em seu próprio processo dos serviços da Web e outros aplicativos execute em um processo em pool único (DLLHost.exe). A diferença entre em processo e fora de processo é uma feira de negócios off que favorece confiabilidade, em vez do desempenho puro. O impacto de desempenho de ter um único processo em pool (DLLHost.exe) versus vários processos em pool (usando outra instância de DLLHost.exe) são mínimos. A economia somente que você obteve por ter um único processo em pool é que você não tem várias cópias de algumas DLLs na memória. Você pode resolver esse problema adicionando memória se seu monitoramento determinar a que este é o gargalo para seu servidor.

O perigo da configuração de aplicativo padrão está faz com que se um aplicativo no pool falhar, que todos os aplicativos (sites Microsoft Commerce Server) no pool de falha. Embora o servidor da Web ainda é executado, isso não ajuda se você perder todos os sites Microsoft Commerce Server que estão configurados no seu servidor. Para evitar esse problema, defina esses aplicativos de alta prioridade sejam executados como processos isolados.

A informação contida neste artigo aplica-se a:
  • Microsoft Commerce Server 2000 Standard Edition
Palavras-chave: 
kbmt kbprb KB325780 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). Caso venha a encontrar erros neste artigo e queira colaborar no processo de aperfeiçoamento desta ferramenta, por favor preencha o formulário existente na parte inferior desta página. Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 325780  (http://support.microsoft.com/kb/325780/en-us/ )

Traduções deste artigo