Iniciar sessão com a Microsoft
Iniciar sessão ou criar uma conta.
Olá,
Selecione uma conta diferente.
Tem várias contas
Selecione a conta com a qual pretende iniciar sessão.

Sintomas

Considere o seguinte cenário:

  • Ativa o sistema de cache no ficheiro Web.config para um website que está a executar o Microsoft Commerce Server 2009.

  • Utiliza a classe Configuração de Categorias para especificar a configuração pré-carregada de um objeto de categoria.

  • Você define a propriedade LoadChildProducts para True.

  • Especifica uma cláusula de filtragem na propriedade CategoryConfiguration.ChildProducts.SqlWhereClause.

  • Utiliza o método GetCategory ou o método GetProduct para recuperar categorias infantis ou produtos infantis do objeto De Configuração de Categorias.

Neste cenário, o cache de catálogo não pode ser utilizado para recuperar as categorias de crianças e os produtos infantis. Portanto, o site pode experimentar um desempenho diminuído quando há alta carga. Por exemplo, tem um site que utiliza o catálogo de amostras AdventureWorks. Executa o seguinte exemplo de código para recuperar o nome de exibição de um objeto de categoria. Neste exemplo, o código consulta sempre os dados da base de dados do Catálogo, embora o cache de catálogo esteja ativado.

CategoryConfiguration categoryConfiguration = new CategoryConfiguration();  categoryConfiguration.LoadChildProducts = true;  categoryConfiguration.ChildProducts.SqlWhereClause = "[IsVisible] = 1";  var catalogContext = CommerceContext.Current.CatalogSystem.CatalogContext;  Category category = catalogContext.GetCategory("AdventureWorks Catalog", "SleepingBags");  Response.Write(category.DisplayName);

Nota Este mesmo problema ocorre quando se utiliza o método GetProduct no exemplo do código. A Microsoft fornece exemplos de programação apenas para ilustração, sem garantia expressa ou implícita. Isto inclui, mas não se limita a, as garantias implícitas de comercialismo ou aptidão para um determinado fim. Este artigo assume que está familiarizado com a linguagem de programação que está a ser demonstrada e com as ferramentas que são usadas para criar e depurar procedimentos. Os engenheiros de suporte da Microsoft podem ajudar a explicar a funcionalidade de um determinado procedimento. No entanto, não modificarão estes exemplos para fornecer funcionalidades adicionais ou procedimentos de construção para satisfazer os seus requisitos específicos.

Resolução

Para resolver este problema, aplique este hotfix no servidor que está a executar o Commerce Server 2009.Depois de aplicar este hotfix, é permitido o cache de crianças e as categorias de crianças na cache do catálogo quando utilizar um filtro "whereClause". Por predefinição, qualquer consulta que contenha uma cláusula contorna a cache do catálogo. Para ativar o cacheching, deve adicionar uma secção "cacheFilter" e configurá-la corretamente no ficheiro Web.config para o website do Servidor de Comércio. A secção "cacheFilter" fornece os seguintes atributos:

  • O atributo "whereClause".

  • O atributo "exactMatch".

Pode utilizar uma das seguintes opções para gerir qual a cláusula a cache:

  • Especifique a totalidade em que a cláusula no atributo "whereClause" e, em seguida, definir o atributo "exactMatch" ao True.

  • Especifique uma cláusula em que a dispor á "whereClause" e, em seguida, detete o atributo "exactMatch" ao False. Isto permite ao Commerce Server cache qualquer cláusula que tenha uma correspondência parcial com o especificado no ficheiro de configuração.

Nota O atributo "exactMatch" é opcional. Por predefinição, se omitir o atributo "exactMatch", está definido para True. O exemplo que se segue mostra como modificar a secção de configuração. Este exemplo também mostra o uso do atributo "exactMatch".

<catalog><catalogSets .../>      <cache enable="true">        <cacheFilter>          <add whereClause="WHERE [ListPrice] between 0 AND 1000'" />          <add whereClause="isActive" exactMatch="False" />          ...         </cacheFilter>       </cache> </catalog>

Regras na definição do valor do atributo "whereClause" na secção cacheFilterNota O valor do atributo "whereClause" na secção "cacheFilter" é compatível com cordas. Por exemplo, devem ser seguidas as seguintes regras:

  • Apenas um espaço branco é permitido entre as palavras-chave de valor "whereClause". Por exemplo:

    • onde Clause="ProductID como 'AW2%'" não é igualado

    • onde O Clause="ProductID como 'AW2%'" é igualado

  • Não é permitido espaço branco no início ou no fim do valor de atribuição "whereClause" se houver um valor de palavras-chave múltiplos. Por exemplo:

    • whereClause=" ProductID como 'AW2%'" não é igualado

    • onde Clause="ProductID como 'AW2%' " não é igualado

  • O subvalor indicado pela "cláusula" deve ser totalmente compatível com as cordas. Por exemplo, assuma que a consulta de pesquisa é "ProductID como 'AW2%'"; neste caso,

    • ondeClause="ProductID como 'AW2' não é uma correspondência

    • whereClause="ProductID like 'AW2%' é uma correspondência

Mais informações sobre este hotfix

Informação de hotfixo

Um hotfix suportado está disponível na Microsoft. No entanto, este hotfix destina-se a corrigir apenas o problema descrito neste artigo. Aplique este hotfix apenas nos sistemas que estão a experimentar o problema descrito neste artigo. Este hotfix pode receber testes adicionais. Portanto, se não for severamente afetado por este problema, recomendamos que aguarde a próxima atualização de software que contenha este hotfix. Se o hotfix estiver disponível para download, existe uma secção de "Hotfix download disponível" no topo deste artigo da Knowledge Base. Se esta secção não aparecer, contacte o Serviço de Apoio ao Cliente da Microsoft para obter o hotfix. Nota Se ocorrerem problemas adicionais ou se for necessário algum problema, poderá ter de criar um pedido de serviço separado. Os custos habituais de apoio aplicar-se-ão a questões e questões de apoio adicionais que não se qualificam para este hotfix específico. Para obter uma lista completa dos números de telefone do Microsoft Customer Service e Support ou para criar um pedido de serviço separado, visite o seguinte website da Microsoft:

http://support.microsoft.com/contactus/?ws=supportNota O formulário "Hotfix download disponível" apresenta os idiomas para os quais o hotfix está disponível. Se não vê a sua língua, é porque não está disponível um hotfix para esse idioma.

Pré-requisitos

Para aplicar este hotfix, você deve ter Commerce Server 2009 ou Commerce Server 2009 Template Pack para SharePoint 2010 instalado.

Informações sobre reinício

Não tem de reiniciar o computador depois de aplicar este hotfix. No entanto, tem de reiniciar os Serviços de Informação da Internet (IIS) depois de aplicar este hotfix. Para reiniciar o IIS, abra uma janela Command Prompt, digite o seguinte comando e, em seguida, prima ENTER:

iisreset /reiniciarNota Esta opção para todos os serviços IIS que estão em funcionamento e depois reinicia-os.

Informações de arquivo

A versão inglesa desta correção tem os atributos de ficheiro listados na tabela que se segue (ou atributos de ficheiro posteriores). As datas e horas destes ficheiros estão listadas no formato de Hora Universal Coordenada (UTC). Quando visualizar as informações dos ficheiros, estas serão convertidas na hora local. Para encontrar a diferença entre UTC e hora local, utilize o separador Time Zone no item data e hora no Painel de Controlo.

Para todas as versões suportadas do Commerce Server 2009

Nome do ficheiro

Versão de arquivo

Tamanho do arquivo

Data

Tempo

Plataforma

Cs2009hotfixhelper.exe

6.0.4171.27

13,080

18-Aug-2010

11:11

x86

Microsoft.catalogserver.dll

6.0.4171.27

756,520

18-Aug-2010

11:11

x86

Microsoft.commerceserver.runtime.dll

6.0.4171.27

850,744

18-Aug-2010

11:11

x86

Microsoft.commerceserver.catalog.dll

6.0.4171.27

961,336

18-Aug-2010

11:35

x86

Para todas as versões suportadas do Pacote de Modelos Commerce Server 2009 para SharePoint 2010

Nome do ficheiro

Versão de arquivo

Tamanho do arquivo

Data

Tempo

Plataforma

Cspatchhelper.exe

6.0.4171.504

17,168

30-Nov-2010

08:16

x86

Microsoft.catalogserver.dll

6.0.4171.504

756,520

30-Nov-2010

08:16

x86

Microsoft.commerceserver.runtime.dll

6.0.4171.504

850,744

30-Nov-2010

08:16

x86

Microsoft.commerceserver.catalog.dll

6.0.4171.504

961,336

29-Nov-2010

14:13

x86

Estado

A Microsoft confirmou que este problema ocorre nos produtos da Microsoft listados na secção "Aplica-se a".

Mais Informações

Tenha em atenção os dois pontos seguintes durante e após a desinstalação do hotfix:

  1. Pode ser apresentada uma janela de diálogo. A janela de diálogo avisa que algumas aplicações precisam de ser fechadas antes de poder continuar com o processo de desinstalação. Nesta situação, aceite a seleção predefinida e clique no botão OK para continuar.

  2. Depois de desinstalar o hotfix para Commerce Server 2009, tanto o Commerce Server 2009 como o Commerce Server 2007 podem aparecer no menu Iniciar. Nesta situação, pode ignorar ou eliminar o item do menu Commerce Server 2007.

Para mais informações, visite os seguintes websites da Microsoft Developer Network (MSDN):

método decategoria de elemento de catálogo CategoriaGetCategoryGetCategory MethodPara baixar o Pacote de Modelos Commerce Server 2009 para o SharePoint 2010, visite o seguinte website da Microsoft:

http://www.microsoft.com/download/en/details.aspx?FamilyID=CFD0C459-5A11-4DE6-9085-52D59E8D38E6&displaylang=en

Precisa de mais ajuda?

Quer mais opções?

Explore os benefícios da subscrição, navegue em cursos de formação, saiba como proteger o seu dispositivo e muito mais.

As comunidades ajudam-no a colocar e a responder perguntas, a dar feedback e a ouvir especialistas com conhecimentos abrangentes.

Estas informações foram úteis?

Quão satisfeito está com a qualidade do idioma?
O que afetou a sua experiência?
Ao selecionar submeter, o seu feedback será utilizado para melhorar os produtos e serviços da Microsoft. O seu administrador de TI poderá recolher estes dados. Declaração de Privacidade.

Obrigado pelo seu feedback!

×