FIX: kataloogi vahemälu ei kasutata, kui kasutate CategoryConfiguration klassi koos CategoryConfiguration. ChildProducts. SqlWhereClause atribuut Commerce Server 2009

Kehtib: Commerce Server 2009 EnterpriseCommerce Server 2009 Standard

Sümptomid


Arvestage järgmise stsenaariumiga.
  • Lubate vahemällu salvestamise Microsoft Commerce Server 2009 käitava veebisaidi failis web. config.
  • CategoryConfiguration klassi abil saate määrata kategooria objekti eellaaditud konfiguratsiooni.
  • Atribuudi LoadChildProducts väärtuseks True.
  • Filtreerimise klausli saate määrata atribuudis CategoryConfiguration. ChildProducts. SqlWhereClause .
  • GetCategory meetodit või GetProduct -meetodit saate kasutada CategoryConfiguration objekti laste kategooriate või lapse toodete toomiseks.
Selle stsenaariumi korral ei tohi kataloogi vahemälu kasutada laste kategooriate ja laste toodete toomiseks. Seetõttu võib veebisait suure koormuse korral jõudlus väheneda. Näiteks on teil veebisait, mis kasutab AdventureWorks proovi kataloogi. Käivitate järgmise koodi näite, et tuua kategooria objekti kuvatav nimi. Selles näites on kood päringute andmed kataloogi andmebaasist iga kord, kuigi kataloogi vahemälu on lubatud.
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);
Märkus. Sama probleem ilmneb siis, kui kasutate koodi näites GetProduct meetodit. Microsoft pakub programmeerimise näiteid ainult illustreerimiseks, kuid mitte otseseid ega kaudseid. See hõlmab, kuid mitte ainult, kaudseid garantiisid kaubandusliku või sobivuse teatud otstarbeks. Selles artiklis eeldatakse, et olete kursis programmeerimiskeelega, mida näidatakse ning kus on kasutatud tööriistu, mida kasutatakse toimingute loomiseks ja silumiseks. Microsofti tugiteenuste insenerid saavad aidata selgitada konkreetse toimingu funktsioone. Kuid need näited ei muuda neid näiteid, et pakkuda lisafunktsioone või koostada protseduure teie konkreetsete nõuete täitmiseks.

Lahendus


Selle probleemi lahendamiseks kasutage seda käigultparandust serveris, kus töötab Commerce Server 2009. pärast selle käigultparanduse vahemällu talletamine laste toodete ja laste kategooriad kataloogi vahemälu on lubatud, kui kasutate filtrit "whereClause". Vaikimisi ignoreerib iga WHERE-klauslit sisaldavat päringut kataloogi vahemälu. Vahemällu salvestamise lubamiseks peate lisama jaotise "cacheFilter" ja konfigureerima selle õigesti Commerce serveri veebisaidi failis web. config. Jaotis "cacheFilter" sisaldab järgmisi atribuute.
  • Atribuut "whereClause".
  • Atribuut "exactMatch".
Saate hallata mõnda järgmistest suvanditest, et hallata, mis WHERE-klausel vahemällu:
  • Määrake atribuudi "whereClause" klausel kogu WHERE-klausel ja Seadke atribuudi "exactMatch" väärtuseks True.
  • Määrake atribuudis "whereClause" WHERE-klausel ja määrake atribuudi "exactMatch" väärtuseks FALSE. See võimaldab Commerce serveril vahemällu salvestada mis tahes klausel, mis on osaline vaste, mis on määratud konfiguratsioonifaili.
Märkus. Atribuut "exactMatch" on valikuline. Kui jätate atribuudi "exactMatch" välja, on see vaikimisi seatud väärtusele True. Järgmises näites kirjeldatakse, kuidas muuta konfiguratsiooni jaotist. Selles näites on kuvatud ka atribuudi "exactMatch" kasutamine.
<catalog><catalogSets .../>      <cache enable="true">        <cacheFilter>          <add whereClause="WHERE [ListPrice] between 0 AND 1000'" />          <add whereClause="isActive" exactMatch="False" />          ...         </cacheFilter>       </cache> </catalog>
Reeglite "whereClause" määratlemise reeglid jaotises cacheFilterjaotises " cacheFilter" oleva atribuudi "whereClause" väärtus on stringiga vastendatud. Näiteks tuleb järgida järgmisi reegleid.
  • Atribuudi "whereClause" väärtuste märksõnade hulgas on lubatud ainult üks tühimik. Näiteks:
    • whereClause = "tooteid nagu ' AW2% '" pole vastendatud
    • whereClause = "tooteid nagu" AW2% "on sobitatud
  • Atribuudi "whereClause" alguses või lõpus ei tohi olla tühikut (s), kui on mitu märksõna väärtust. Näiteks:
    • whereClause = "tooteid nagu ' AW2% '" pole vastendatud
    • whereClause = "tooteid nagu ' AW2% '" pole vastendatud
  • Atribuudi "whereClause" ühekordseks noteeritud sub-väärtus peab olema täielikult stringiga vastendatud. Oletagem näiteks, et otsingupäringu on "tooteid nagu" AW2% ""; Sellisel juhul
    • whereClause = "tooteid nagu" AW2 "pole vaste
    • whereClause = "tooteid nagu" AW2% "on vaste

Lisateavet selle käigultparanduse kohta

Käigultparanduse teave

Microsoft on saadaval toetatud käigultparandus. See käigultparandus on ette nähtud ainult selles artiklis kirjeldatud probleemi lahendamiseks. Kasutage seda käigultparandust ainult selles artiklis kirjeldatud probleemidega süsteemides. Selle käigultparanduse võib saada täiendavaid teste. Seega, kui probleem teie tööd tõsiselt ei kahjusta, soovitame oodata järgmist tarkvara värskendust, mis sisaldab seda käigultparandust. Kui kiirparandus on allalaadimiseks saadaval, on selle teabebaasi artikli ülaosas jaotis "kiirparandus on allalaadimiseks saadaval". Kui seda jaotist ei ole, pöörduge käigultparanduse hankimiseks Microsofti klienditeeninduse ja-toe poole. Märkus. Kui ilmneb täiendavaid probleeme või kui on vaja teha tõrkeotsingut, peate looma eraldi tugiteenuse taotluse. Tavaline tugiteenuste hind kehtib täiendavatele tugiteenustega seotud küsimustele ja probleemidele, mis pole lahendatavad konkreetse käigultparandusega. Microsofti klienditeeninduse ja-toe telefoninumbrite tervikliku loendi või eraldi tugiteenuse taotluse loomiseks külastage järgmist Microsofti veebisaiti: Märkus. Vormil "kiirparandus on allalaadimiseks saadaval" kuvatakse keeled, mille jaoks kiirparandus on saadaval. Kui te ei näe oma keelt, sellepärast kiirparandus pole selles keeles saadaval.

Eeltingimused

Selle käigultparanduse rakendamiseks peab teil olema Commerce Server 2009 või Commerce Server 2009 Mall Pack for SharePoint 2010 installitud.

Teabe taaskäivitamine

Te ei pea pärast selle käigultparanduse rakendamist arvuti taaskäivitama. Pärast selle käigultparanduse rakendamist peate Internet Information Services (IIS) siiski uuesti käivitama. IIS-i taaskäivitamiseks avage käsuviiba aken, tippige järgmine käsk ja vajutage sisestusklahvi (ENTER).
iisreset/restart
Märkus. See suvand peatab kõik töötavad IIS-i teenused ja taaskäivitab need.

Teave failiteave

Selle käigultparanduse ingliskeelne versioon sisaldab järgmises tabelis loetletud failiatribuute (või uuemaid). Nende failide kuupäevad ja kellaajad on loetletud koordineeritud maailmaaja (UTC) juures. Kui vaatate teavet failiteave, teisendatakse see kohalikuks ajaks. UTC ja kohaliku aja erinevuste väljaselgitamiseks kasutage juhtpaneeli üksuse kuupäev ja kellaaegvahekaarti ajavöönd .
Kõigi Commerce Server 2009 toetatud versioonide korral
FailinimiVersioonFailimahtKuupäevaAjalPlatform
Cs2009hotfixhelper.exe6.0.4171.2713 08018-Aug-201011:11x86
Microsoft.catalogserver.dll6.0.4171.27756 52018-Aug-201011:11x86
Microsoft.commerceserver.runtime.dll6.0.4171.27850 74418-Aug-201011:11x86
Microsoft.commerceserver.catalog.dll6.0.4171.27961 33618-Aug-201011:35x86
Kõik toetatud versioonid Commerce Server 2009 Mall Pack for SharePoint 2010
FailinimiVersioonFailimahtKuupäevaAjalPlatform
Cspatchhelper.exe6.0.4171.50417 16830-Nov-201008:16x86
Microsoft.catalogserver.dll6.0.4171.504756 52030-Nov-201008:16x86
Microsoft.commerceserver.runtime.dll6.0.4171.504850 74430-Nov-201008:16x86
Microsoft.commerceserver.catalog.dll6.0.4171.504961 33629-Nov-201014:13x86

Olek


Microsoft on kinnitanud, et see probleem esineb jaotises "kehtib järgmiste toodete kohta" loetletud Microsofti toodetes.

Lisateave


Palun tutvuge käigultparanduse desinstallimise ajal ja pärast seda kahe järgmise punktiga.
  1. Võidakse kuvada dialoogiboks. Dialoogiboks hoiatab, et mõned rakendused tuleb sulgeda, enne kui saate desinstallimise jätkata. Sellisel juhul aktsepteerige vaikimisi valik ja jätkamiseks klõpsake nuppu OK .
  2. Pärast seda, kui olete installinud Commerce Server 2009 käigultparanduse, võidakse menüüs Start lisada nii Commerce Server 2009 kui ka Commerce Server 2007. Sellisel juhul saate Commerce Server 2007 menüükäsu ignoreerida või kustutada.
Lisateabe saamiseks külastage järgmisi Microsoft Developer Networki (MSDN) veebisaite.Commerce Server 2009 template Pack for SharePoint 2010 allalaadimiseks külastage järgmist Microsofti veebisaiti: