Príznaky
Zoberme si nasledujúcu situáciu:
-
Povolenie ukladania do vyrovnávacej pamäte v systéme katalógu v súbore web. config pre webovú lokalitu so spustenou službou Microsoft Commerce Server 2009.
-
Trieda CategoryConfiguration sa používa na určenie predinštalovaného konfigurácie objektu kategórie .
-
Vlastnosť LoadChildProducts sa nastaví na hodnotu True.
-
Zadáte klauzulu filtrovania vo vlastnosti CategoryConfiguration. ChildProducts. SqlWhereClause .
-
Použijete metódu GetCategory alebo metódu GetProduct na načítanie podradených kategórií alebo podriadených produktov CategoryConfiguration objektu.
V tomto scenári sa nemusí použiť caching katalógu na načítanie podriadených kategórií a podriadených produktov. Z tohto dôvodu môže webová lokalita zaznamenať zníženie výkonu pri vysokej záťaži. Máte napríklad webovú lokalitu, ktorá používa vzorový katalóg AdventureWorks. Môžete spustiť nasledujúci kód príklad na načítanie zobrazovaného názvu objektu kategórie . V tomto príklade kód vyhľadáva údaje z databázy katalógu zakaždým, hoci je povolené ukladanie do vyrovnávacej pamäte katalógu.
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 sa vyskytuje, keď použijete metódu GetProduct v príklade kódu. Spoločnosť Microsoft poskytuje príklady programovacieho systému iba na ilustráciu bez záruky vyjadrené alebo implicitné. Toto zahŕňa, ale nie je obmedzené na implikované záruky obchodovateľnosti alebo vhodnosti na konkrétny účel. V tomto článku sa predpokladá, že ste oboznámení s prejaveným programovacím jazykom a s nástrojmi, ktoré sa používajú na vytváranie a ladenie procedúr. Pracovníci technickej podpory spoločnosti Microsoft vám môžu pomôcť vysvetliť funkčnosť konkrétneho postupu. Tieto príklady však nebudú upravovať, aby poskytovali pridanú funkčnosť alebo vybudovali postupy na splnenie konkrétnych požiadaviek.
Riešenie
Ak chcete tento problém vyriešiť, použite túto rýchlu opravu na server, na ktorom je spustený Commerce Server 2009. po použití tejto rýchlej opravy, caching podriadené produkty a podriadené kategórie vo vyrovnávacej pamäti katalógu je povolená pri použití filtra "whereClause". Na základe predvoleného nastavenia sa akýkoľvek dotaz, ktorý obsahuje klauzulu WHERE, obchádza vyrovnávaciu pamäť katalógu. Ak chcete povoliť ukladanie do vyrovnávacej pamäte, musíte pridať sekciu cacheFilter a nakonfigurovať ju správne v súbore web. config pre webovú lokalitu Commerce Server. Časť "cacheFilter" obsahuje nasledovné atribúty:
-
Atribút "whereClause".
-
Atribút "exactMatch".
Môžete použiť jednu z nasledujúcich možností na spravovanie klauzuly WHERE na vyrovnávaciu pamäť:
-
Zadajte celú klauzulu WHERE v atribúte "whereClause" a potom nastavte atribút "exactMatch" na hodnotu True.
-
Zadajte klauzulu WHERE v atribúte "whereClause" a potom nastavte atribút "exactMatch" na hodnotu False. To umožňuje serveru Commerce Server ukladať do vyrovnávacej pamäte ľubovoľnú klauzulu WHERE, ktorá má čiastočnú zhodu s tým, čo bolo zadané v konfiguračnom súbore.
Poznámka: Atribút "exactMatch" je voliteľný. Ak vynecháte atribút "exactMatch", na základe predvoleného nastavenia je nastavený na hodnotu True. Nasledujúci príklad znázorňuje, ako upraviť sekciu konfigurácie. V tomto príklade sa zobrazuje aj používanie atribútu "exactMatch".
<catalog><catalogSets .../> <cache enable="true"> <cacheFilter> <add whereClause="WHERE [ListPrice] between 0 AND 1000'" /> <add whereClause="isActive" exactMatch="False" /> ... </cacheFilter> </cache> </catalog>
Pravidlá pri definovaní hodnoty atribútu "whereClause" v časti cacheFilterPoznámka hodnota atribútu "whereClause" v časti "cacheFilter" je zhodná s reťazcom. Musí sa použiť napríklad nasledovné pravidlá:
-
Medzi kľúčové slová atribútu "whereClause" sa povoľuje len jedno prázdne miesto. Príklad:
-
whereClause = "Identifikácia produktu ako" AW2% "" nie je zhodná
-
whereClause = "Identifikácia produktu ako" AW2% "" je zhodná
-
-
Na začiatku alebo na konci hodnoty atribútu "whereClause" nie je povolené žiadne prázdne miesto (s), ak je hodnota viacerých kľúčových slov. Príklad:
-
whereClause = "Identifikácia produktu ako" AW2% "" nie je zhodná
-
whereClause = "Identifikácia produktu ako" AW2% "" nie je zhodná
-
-
Jedna hodnota v rámci atribútu "whereClause" musí byť úplne zhodná s reťazcom. Predpokladajme napríklad, že vyhľadávací dotaz je "ProductID like" AW2% "; v tomto prípade
-
whereClause = "ProductID like ' AW2 ' nie je zhoda
-
whereClause = "ProductID like ' AW2% ' je zhoda
-
Ďalšie informácie o tejto rýchlej oprave
Informácie o rýchlej oprave
Podporovaná rýchla oprava je k dispozícii od spoločnosti Microsoft. Táto rýchla oprava je však určená len na odstránenie problému popísaného v tomto článku. Táto rýchla oprava sa vzťahuje len na systémy, v ktorých sa vyskytol problém popísaný v tomto článku. Táto rýchla oprava môže získať ďalšie testovanie. Ak preto tento problém nie je vážne ovplyvnený, odporúčame vám počkať na ďalšiu aktualizáciu softvéru, ktorá túto rýchlu opravu obsahuje. Ak je rýchla oprava k dispozícii na stiahnutie, v hornej časti tohto článku databázy Knowledge Base sa nachádza časť stiahnutie dostupnej rýchlej opravy. Ak sa táto časť nezobrazuje, obráťte sa na oddelenie technickej podpory pre zákazníkov spoločnosti Microsoft a Získajte rýchlu opravu. Poznámka: Ak sa vyskytnú ďalšie problémy alebo ak sa vyžaduje riešenie problémov, možno budete musieť vytvoriť samostatnú žiadosť o službu. Obvyklé náklady na podporu sa vzťahujú na ďalšie otázky a problémy týkajúce sa podpory, ktoré sa nekvalifikujú pre túto konkrétnu rýchlu opravu. Ak chcete zobraziť celý zoznam telefónnych čísel služieb zákazníkom spoločnosti Microsoft a podpory alebo vytvoriť samostatnú žiadosť o službu, navštívte nasledujúcu webovú lokalitu spoločnosti Microsoft:
http://support.microsoft.com/contactus/?ws=supportPoznámka: Formulár na stiahnutie dostupnej rýchlej opravy zobrazuje jazyky, pre ktoré je rýchla oprava k dispozícii. Ak sa váš jazyk nezobrazuje, je to preto, že rýchla oprava nie je k dispozícii pre daný jazyk.
Požiadavky
Ak chcete použiť túto rýchlu opravu, musíte mať Commerce Server 2009 alebo Commerce Server 2009 Template Pack pre SharePoint 2010 nainštalovaný.
Informácie o reštartovaní
Po použití tejto rýchlej opravy Nemusíte reštartovať počítač. Po použití tejto rýchlej opravy je však nutné reštartovať internetové informačné služby (IIS). Ak chcete reštartovať službu IIS, otvorte okno príkazového riadka, zadajte nasledujúci príkaz a stlačte kláves ENTER:
iisreset/restartPoznámka: Táto možnosť zastaví všetky spustené služby IIS a potom ich reštartuje.
Informácie o súboroch
Anglická verzia tejto rýchlej opravy obsahuje atribúty súborov (alebo novšie atribúty), ktoré sú uvedené v nasledujúcej tabuľke. Dátumy a časy týchto súborov sú uvedené v koordinovanom univerzálny čas (UTC). Keď zobrazíte informácie o súbore, skonvertuje sa na miestny čas. Ak chcete vyhľadať rozdiely medzi časom UTC a miestnym časom, použite kartu časové pásmo v položke Dátum a čas v ovládacom paneli.
Pre všetky podporované verzie služby Commerce Server 2009
Názov súboru |
Verzia súboru |
Veľkosť súboru |
Dátum |
Čas |
Platforma |
---|---|---|---|---|---|
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 |
Pre všetky podporované verzie balíka Commerce Server 2009 Template Pack pre SharePoint 2010
Názov súboru |
Verzia súboru |
Veľkosť súboru |
Dátum |
Čas |
Platforma |
---|---|---|---|---|---|
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
Spoločnosť Microsoft potvrdzuje, že ide o problém v produktoch spoločnosti Microsoft, ktoré sú uvedené v tomto článku v časti Informácie v tomto článku sa týkajú nasledujúcich produktov.
Ďalšie informácie
Pri odinštalovaní tejto rýchlej opravy si uvedomte nasledovné dva body:
-
Môže sa zobraziť dialógové okno. V dialógovom okne sa zobrazí upozornenie, že niektoré aplikácie je pred pokračovaním v procese odinštalovania potrebné zavrieť. V tejto situácii prijmite predvolený výber a pokračujte kliknutím na tlačidlo OK .
-
Po odinštalovaní rýchlej opravy pre Commerce Server 2009 sa v ponuke Štart môže zobraziť Commerce Server 2009 aj Commerce Server 2007. V tejto situácii môžete ignorovať alebo odstrániť položku ponuky Commerce Server 2007.
Ďalšie informácie nájdete na týchto webových lokalitách lokality Microsoft Developer Network (MSDN):
prvok katalógu CategoryConfiguration trieda GetCategory metódaAk chcete stiahnuť balík šablóny balíka Commerce Server 2009 pre SharePoint 2010, navštívte nasledujúcu webovú lokalitu spoločnosti Microsoft: