Příznaky

Zvažte následující scénář:

  • Povolíte ukládání do mezipaměti v systému katalogu v souboru Web. config pro web, na kterém běží Microsoft Commerce Server 2009.

  • Pomocí třídy CategoryConfiguration určíte předem nahranou konfiguraci objektu kategorie .

  • Nastavíte vlastnost LoadChildProducts na hodnotu true.

  • Klauzuli Filters určuje vlastnost CategoryConfiguration. ChildProducts. SqlWhereClause .

  • K načtení podřízených kategorií nebo podřízených produktů objektu CategoryConfiguration použijte metodu GetCategory nebo metodu getsoučin .

V tomto scénáři se nemusí mezipaměť katalogu použít k načtení podřízených kategorií a podřízených produktů. Proto v případě vysokého zatížení se na webu můžou vyskytnout snížení výkonu. Například máte web, který používá ukázkový katalog AdventureWorks. Spustíte následující příklad kódu pro načtení zobrazovaného názvu objektu kategorie . V tomto příkladu kód vyhledá data z databáze katalogu pokaždé, i když je mezipaměť katalogu povolená.

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);

Poznámka Tento problém nastane, když použijete metodu getproduct v příkladu kódu. Společnost Microsoft nabízí příklady programování pouze pro ilustraci bez záruky výslovně uvedené nebo implicitně předpokládaných. To zahrnuje, ale není omezeno na implicitně odvozené záruky obchodovatelnosti nebo vhodnosti pro určitý účel. V tomto článku se předpokládá, že jste obeznámeni s programovacím jazykem, který se vám seznámí, a s nástroji, které se používají k vytváření a ladění procedur. Pracovníci podpory Microsoftu mohou vysvětlit funkčnost konkrétního postupu. Nicméně tyto příklady neupraví, aby bylo možné přidat další funkce nebo postupovat podle konkrétních požadavků.

Řešení

Tento problém vyřešíte tak, že tuto opravu hotfix použijete na server, na kterém běží Commerce Server 2009. po použití této opravy hotfix je při použití filtru whereClause povolen ukládání podřízených produktů a podřízených kategorií do mezipaměti v katalogu katalogu. Dotaz, který obsahuje klauzuli WHERE, implicitně obejde mezipaměť katalogu. Chcete-li povolit ukládání do mezipaměti, musíte přidat část "cacheFilter" a nakonfigurovat ji správně v souboru Web. config pro web Commerce Server. Oddíl "cacheFilter" obsahuje následující atributy:

  • Atribut "whereClause".

  • Atribut "exactMatch".

K nastavení klauzule WHERE do mezipaměti můžete použít jednu z těchto možností:

  • V atributu whereClause zadejte celou klauzuli WHERE a pak nastavte atribut "exactMatch" na true (pravda).

  • Zadejte klauzuli WHERE v atributu "whereClause" a pak nastavte atribut "exactMatch" na false (NEPRAVDA). Díky tomu může Commerce Server Uložit do mezipaměti všechny klauzule WHERE, které mají částečné shody, které byly zadané v konfiguračním souboru.

Poznámka Atribut "exactMatch" je nepovinný. Pokud atribut "exactMatch" vynecháte, bude ve výchozím nastavení nastaven na hodnotu true. Následující příklad ukazuje, jak změnit konfigurační oddíl. Tento příklad také ukazuje použití atributu exactMatch.

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

Pravidla definující hodnotu atributu "whereClause" v oddílu cacheFilterpoznamenejte hodnotu atributu "whereClause" v části "cacheFilter" je odpovídající řetězci. Je třeba dodržovat následující pravidla:

  • Mezi klíčovými slovy s hodnotou atributu whereClause je povolená jenom jedna mezera. Například:

    • whereClause = "ProductID like AW2%" "se nerovná

    • whereClause = "ProductID like" AW2% "" je spárováno

  • Pokud existuje více klíčových slov, není na začátku nebo na konci hodnoty atributu whereClause povolené žádné mezery. Například:

    • whereClause = "ProductID like AW2%" "se nerovná

    • whereClause = "ProductID like AW2%" "se nerovná

  • Odvozená dílčí hodnota v atributu "whereClause" musí být plně shodná s řetězcem. Předpokládejme například, že vyhledávací dotaz je "ProductID like AW2%" "; v tomto případě

    • whereClause = "ProductID like ' AW2 ' není shodná

    • whereClause = "ProductID like" AW2% "je shoda

Další informace o této opravě hotfix

Informace o opravě hotfix

Společnost Microsoft má k dispozici podporovanou opravu hotfix. Tato oprava hotfix je však určena pouze k opravě problému popsaného v tomto článku. Tuto opravu hotfix použijte pouze u systémů, u kterých dochází k problému popsanému v tomto článku. Tato oprava hotfix může obsahovat další testování. Pokud vás tedy tento problém příliš neobtěžuje, doporučujeme, abyste počkali na další aktualizaci softwaru, která bude obsahovat tuto opravu hotfix. Pokud je oprava hotfix k dispozici ke stažení, je v horní části tohoto článku znalostní báze Knowledge Base oddíl "Oprava je k dispozici." Pokud se tento oddíl nezobrazuje, obraťte se na zákaznickou podporu Microsoftu na oddělení služeb zákazníkům a podpory. Poznámka Pokud se vyskytnou další problémy nebo pokud se vyžaduje řešení potíží, budete možná muset vytvořit samostatnou žádost o službu. Na další otázky a problémy podpory, které neopravňují tuto specifickou opravu hotfix, se budou vztahovat běžné poplatky za podporu. Úplný seznam telefonních čísel služeb pro zákazníky společnosti Microsoft a podpory pro vytvoření samostatného požadavku na službu najdete na následujícím webu společnosti Microsoft:

http://support.microsoft.com/contactus/?ws=supportPoznámka Formulář "oprava k dispozici v opravě hotfix" zobrazuje jazyky, pro které je oprava hotfix k dispozici. Pokud svůj jazyk nevidíte, je to proto, že oprava hotfix není pro tento jazyk k dispozici.

Požadavky

Abyste mohli nainstalovat tuto opravu hotfix, musíte mít nainstalovaný balíček Commerce Server 2009 nebo Commerce Server 2009 Template Pack pro SharePoint 2010.

Informace o restartování

Po instalaci této opravy hotfix není nutné restartovat počítač. Po použití této opravy hotfix však musíte restartovat Internetovou informační službu (IIS). Chcete-li restartovat Internetovou informační službu, otevřete okno příkazového řádku, zadejte následující příkaz a stiskněte klávesu ENTER:

příkaz iisreset/restartPoznámka Tato možnost zastaví všechny běžící služby IIS a pak je restartuje.

Informace o souborech

Anglická verze této opravy hotfix má následující (nebo pozdější) atributy souborů. Data a časy jednotlivých souborů jsou uvedeny ve formátu UTC (Coordinated Universal Time). Při zobrazení informací o souboru jsou převedeny na místní čas. Pokud chcete najít rozdíl mezi časem UTC a místním časem, použijte kartu časové pásmo na ovládacím panelu Datum a čas .

Pro všechny podporované verze serveru Commerce Server 2009

Název souboru

File version

File size

Date

Time

Platform

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

Pro všechny podporované verze sady Commerce Server 2009 Template Pack pro SharePoint 2010

Název souboru

File version

File size

Date

Time

Platform

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

Stav

Společnost Microsoft potvrzuje, že se jedná o problém v produktech této společnosti, které jsou uvedeny v části Informace v tomto článku jsou určeny pro produkt.

Další informace

Během odinstalace opravy hotfix mějte na paměti následující dva body:

  1. Může se zobrazit dialogové okno. Okno s dialogovým oknem upozorňuje, že některé aplikace musí být před pokračováním v procesu odinstalace zavřeny. V této situaci přijměte výchozí výběr a pokračujte kliknutím na tlačítko OK .

  2. Po odinstalaci opravy hotfix pro Commerce Server 2009 se může v nabídce Start zobrazit Commerce Server 2009 a Commerce Server 2007. V této situaci můžete položku nabídky Commerce Server 2007 přeskočit nebo odstranit.

Další informace najdete na následujících webech MSDN (Microsoft Developer Network):

Metoda GetCategory kategorie CategoryConfiguration prvku kataloguPokud chcete stáhnout sadu šablon pro Commerce Server 2009 pro SharePoint 2010, navštivte tento web:

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

Potřebujete další pomoc?

Rozšiřte své znalosti a dovednosti
Projít školení
Získejte nové funkce jako první
Připojit se k programu Microsoft Insider

Byly tyto informace užitečné?

Jak jste spokojeni s kvalitou jazyka?
Co ovlivnilo váš názor?

Děkujeme vám za zpětnou vazbu.

×