Labojums: kataloga kešdarbe netiek izmantota, ja izmantojat CategoryConfiguration klasi kopā ar rekvizītu CategoryConfiguration. ChildProducts. SqlWhereClause Commerce Server 2009

Simptomi

Iedomājieties šādu scenāriju:

  • Iespējojiet kešdarbi kataloga sistēmā tīmekļa. config failā tīmekļa vietnei, kurā darbojas Microsoft Commerce Server 2009.

  • CategoryConfiguration klasi var izmantot, lai norādītu kategorijas objekta iepriekš ielādētu konfigurāciju.

  • Rekvizīts LoadChildProducts tiek iestatīts uz patiess.

  • Rekvizītā CategoryConfiguration. ChildProducts. SqlWhereClause norādiet filtrēšanas klauzulu.

  • Izmantojiet metodi GetCategory vai GetProduct , lai izgūtu bērnobjekta kategorijas vai bērnobjekta produktus no CategoryConfiguration objekta.

Šajā scenārijā katalogu kešdarbi, iespējams, netiek izmantota, lai izgūtu bērnu kategorijas un bērnobjektu produktus. Tāpēc, ja ir liela slodze, tīmekļa vietnei var rasties samazināta veiktspēja. Piemēram, jums ir tīmekļa vietne, kurā tiek izmantots katalogs AdventureWorks piemērs. Lai izgūtu kategorijas objekta parādāmo nosaukumu, palaidiet tālāk norādīto koda piemēru. Šajā piemērā kods vaicā datus no kataloga datu bāzes katru reizi, lai gan ir iespējota katalogu kešdarbe.

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

Piezīme. Šī pati problēma rodas, ja koda piemērā izmantojat GetProduct metodi. Microsoft nodrošina programmēšanas piemērus tikai ilustrācijai, bez izteiktas vai netiešas garantijas. Tas ietver, bet neaprobežojas ar netiešajām garantijām par piemērotību lietošanai vai atbilstību noteiktam nolūkam. Šajā rakstā ir pieņemts, ka esat iepazinies ar programmēšanas valodu, kas tiek parādīta, un rīkus, kas tiek izmantoti, lai izveidotu un atkļūdotu procedūras. Microsoft atbalsta inženieri var palīdzēt izskaidrot noteiktas procedūras funkcionalitāti. Taču tie nemainīs šos piemērus, lai nodrošinātu pievienoto funkcionalitāti vai izveidotu procedūras, kas atbilst jūsu konkrētajām prasībām.

Risinājums

Lai atrisinātu šo problēmu, izmantojiet šo labojumfailu serverim, kurā darbojas Commerce Server 2009. pēc šī labojumfaila lietošanas ir atļauta bērnu produktu un bērnu kategoriju ievietošana kataloga kešatmiņā, ja izmantojat "whereClause" filtru. Pēc noklusējuma jebkurš vaicājums, kurā ir klauzula WHERE, apiet kataloga kešatmiņu. Lai iespējotu kešdarbi, ir jāpievieno sadaļa "cacheFilter", un tā ir pareizi jākonfigurē komercijas servera tīmekļa vietnes tīmekļa. config failā. Sadaļā "cacheFilter" ir šādi atribūti:

  • Atribūts "whereClause".

  • Atribūts "exactMatch".

Varat izmantot kādu no tālāk norādītajām opcijām, lai pārvaldītu, kuras klauzulas cache:

  • Norādiet visu WHERE klauzulu atribūtā "whereClause" un pēc tam rekvizītam "exactMatch" Iestatiet vērtību TRUE.

  • Norādiet klauzulu WHERE, kas atrodas atribūtā "whereClause", un pēc tam iestatiet atribūtu "exactMatch" aplams. Tas ļauj komercijas serverim veikt kešatmiņas klauzulu WHERE, kas daļēji sakrīt ar konfigurācijas failā norādīto.

Piezīme. Atribūts "exactMatch" nav obligāts. Pēc noklusējuma, ja tiek izlaists atribūts "exactMatch", tas ir iestatīts kā patiess. Šajā piemērā ir parādīts, kā modificēt konfigurācijas sadaļu. Šajā piemērā ir arī parādīts atribūts "exactMatch".

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

Kārtulās definējot atribūta "whereClause" vērtību cacheFilter sadaļā,ievērojiet , ka parametra "whereClause" vērtība sadaļā "cacheFilter" ir virkne. Piemēram, ir jāievēro šādi noteikumi:

  • Parametram "whereClause" ir atļauta tikai viena baltstarpa. Piemēram:

    • whereClause = "ProductID Like" AW2% "nav atbilstības

    • whereClause = "ProductID Like" AW2% "

  • Ja pastāv vairāku atslēgvārdu vērtība, tad "whereClause" atribūta vērtības sākumā vai beigās nav atļauta neviena balta atstarpe (s). Piemēram:

    • whereClause = "ProductID Like" AW2% "nav atbilstības

    • whereClause = "ProductID Like" AW2% "nav atbilstības

  • Atdalītai kotētai apakšvērtībai atribūtā "whereClause" jābūt pilnībā virknei atbilstošs. Piemēram, pieņemsim, ka meklēšanas vaicājumā ir "ProductID Like" AW2% "; Šajā gadījumā

    • whereClause = "ProductID Like" AW2 "nav atbilstība

    • whereClause = "ProductID Like" AW2% "ir atbilstība

Papildinformācija par šo labojumfailu

Informācija par labojumfailu

Atbalstītais labojumfails ir pieejams Microsoft. Taču šis labojumfails ir paredzēts tikai šajā rakstā aprakstītās problēmas novēršanai. Lietojiet šo labojumfailu tikai tām sistēmām, kurām ir radusies šajā rakstā aprakstītā problēma. Šis labojumfails var saņemt papildu testēšanu. Tāpēc, ja šī problēma nerada nopietnus traucējumus, iesakām gaidīt nākamo programmatūras atjauninājumu, kurā ir iekļauts šis labojumfails. Ja labojumfails ir pieejams lejupielādei, šī zināšanu bāzes raksta augšdaļā ir sadaļa "pieejama labojumfaila lejupielāde". Ja šī sadaļa neparādās, sazinieties ar Microsoft klientu apkalpošanas un atbalsta dienestu, lai iegūtu labojumfailu. Piezīme. Ja rodas papildu problēmas vai nepieciešama problēmu novēršana, iespējams, ir jāizveido atsevišķs pakalpojuma pieprasījums. Parasti atbalsta izmaksas tiek piemērotas jautājumiem par papildu atbalstu un problēmām, kas neattiecas uz šo konkrēto labojumfailu. Lai iegūtu pilnu Microsoft klientu apkalpošanas un atbalsta tālruņa numuru sarakstu vai izveidotu atsevišķu pakalpojumu pieprasījumu, apmeklējiet šo Microsoft tīmekļa vietni:

http://support.microsoft.com/contactus/?ws=supportPiezīme. Veidlapā "pieejama labojumfaila lejupielāde" ir redzamas valodas, kurās ir pieejams labojumfails. Ja neredzat savu valodu, tas ir tāpēc, ka šīs valodas labojumfails nav pieejams.

Priekšnoteikumi

Lai lietotu šo labojumfailu, jums ir jābūt instalētai programmatūrai Commerce Server 2009 vai Commerce Server 2009 Template Pack for SharePoint 2010.

Restartējiet informāciju

Pēc šī labojumfaila lietošanas nav nepieciešams restartēt datoru. Taču pēc šī labojumfaila lietošanas ir jārestartē interneta informācijas pakalpojumi (IIS). Lai restartētu IIS, atveriet komandu uzvednes logu, ierakstiet šo komandu un pēc tam nospiediet taustiņu ENTER:

iisreset/restartPiezīme. Šī opcija aptur visus IIS pakalpojumus, kas tiek palaisti, un pēc tam restartējas.

Informācija par failu

Šī labojumfaila angļu valodas versijā ir tālāk esošajā tabulā uzskaitītie failu atribūti (vai jaunāki failu atribūti). Šo failu datumi un laiki ir norādīti sadaļā koordinētais universālais laiks (UTC). Skatot informāciju par failu, tā tiek konvertēta uz lokālo laiku. Lai noskaidrotu atšķirību starp UTC un vietējo laiku, izmantojiet cilni laika josla vadības paneļa vienuma datums un laiks .

Visām atbalstītajām Commerce Server 2009 versijām

Faila nosaukums

Faila versija

Faila lielums

Datumu

Laika

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

Visām atbalstītajām Commerce Server 2009 veidņu pakotnes versijām SharePoint 2010

Faila nosaukums

Faila versija

Faila lielums

Datumu

Laika

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

Statusa

Microsoft ir apstiprinājusi, ka šī problēma pastāv Microsoft produktos, kas ir norādīti sadaļā "attiecas uz".

Papildinformācija

Lūdzu, ņemiet vērā šos divus punktus un pēc tam, kad ir atinstalēta labojumfaila:

  1. Var tikt parādīts dialoglogs. Dialoglodziņš tiek brīdināts par to, ka dažas lietojumprogrammas ir jāaizver, pirms varat turpināt atinstalēšanas procesu. Šajā situācijā akceptējiet noklusējuma atlasi un noklikšķiniet uz pogas Labi , lai turpinātu.

  2. Pēc tam, kad būsit atinstalējis Commerce Server 2009 labojumfailu, var parādīties gan komercijas servera 2009, gan Commerce Server 2007 sākuma izvēlnē. Šajā situācijā varat ignorēt vai izdzēst tirdzniecības servera 2007 izvēlnes elementu.

Lai iegūtu papildinformāciju, apmeklējiet šīs Microsoft izstrādātāju tīkla (MSDN) tīmekļa vietnes:

kataloga elementa CategoryConfiguration klases GetCategory metodeLai lejupielādētu komercijas servera 2009 veidnes pakotni pakalpojumam SharePoint 2010, apmeklējiet šo Microsoft tīmekļa vietni:

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

Vai nepieciešama papildu palīdzība?

Paplašiniet savas prasmes
Iepazīties ar apmācību
Esiet pirmais, kas saņem jaunās iespējas
Pievienoties Microsoft Insider

Vai šī informācija bija noderīga?

Paldies par jūsu atsauksmēm!

Paldies par atsauksmēm! Šķiet, ka jums varētu būt noderīgi sazināties ar kādu no mūsu Office atbalsta speciālistiem.

×