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

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

Expandir tudo | Recolher tudo

Sintomas

Quando dois sites Microsoft Commerce Server configurados para serem executados 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 o 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 para o 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 está em Requisition.dll. Esse método não é possível diferenciar OrderForm quando mais de um site está no mesmo aplicativo Internet Information Services (IIS) em pool.

Resolução

Alterar a chamada para PutOrderFormValue para que ele inclui o nome OrderForm como o terceiro parâmetro:
Call mscsOrderGrp.PutOrderFormValue(sKey, sValue, sOrderFormName)
				
se você não pode alterar o código do site, configure cada site com Proteção de aplicativo definido como alto (isolado) . Você pode fazer isso no Commerce Server Manager. Localize o Site padrão e, em seguida, defina as propriedades nos dois diretórios virtuais. Você também deve aplicar as alterações a todos os seus arquivos.

Situação

Esse comportamento é por design.

Mais Informações

Microsoft Commerce Server 2000 funcionará em sua configuração no modo de alta (isolada) . Por padrão, serviços da Web (Inetinfo.exe) é executado em seu próprio processo e executar outros aplicativos em um processo único, em pool (DLLHost.exe). A diferença entre no processo e fora de processo é uma feira de negócios logoff que favorece confiabilidade em vez de desempenho puro. O impacto no 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 precisam várias cópias de algumas DLLs de na memória. Você pode resolver esse problema adicionando memória se o monitoramento determinar que esse é o gargalo para seu servidor.

O perigo da configuração de aplicativo padrão é que se um aplicativo no pool de falhar, fará com que todos os aplicativos (sites Microsoft Commerce Server) no pool falha. Embora o servidor Web ainda seja executado, isso não ajuda se você perder todos os sites Microsoft Commerce Server que sã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). 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