Logga in med Microsoft
Logga in eller skapa ett konto.
Hej,
Välj ett annat konto.
Du har flera konton
Välj det konto som du vill logga in med.

Symptom

Tänk dig följande situation:

  • Du aktiverar cachelagring i katalog systemet i Web. config-filen för en webbplats som kör Microsoft Commerce Server 2009.

  • Du använder klassen CategoryConfiguration för att ange den förinstallerade konfigurationen för ett kategori objekt.

  • Ange egenskapen LoadChildProducts till Sant.

  • Du anger en filtrerings sats i egenskapen CategoryConfiguration. ChildProducts. SqlWhereClause .

  • Du använder metoden GetCategory eller metoden GetProduct för att hämta underordnade kategorier eller underordnade produkter till CategoryConfiguration -objektet.

I det här scenariot kanske katalog lagring inte används för att hämta underordnade kategorier och underordnade produkter. Därför kan webbplatsen uppleva sämre prestanda när det finns hög belastning. Du har till exempel en webbplats som använder exempel katalogen AdventureWorks. Du kör följande kod exempel för att hämta visnings namnet för ett kategori objekt. I det här exemplet frågar koden data från katalog databasen när du har aktiverat katalog lagring.

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

Obs! Det här problemet uppstår när du använder metoden GetProduct i kod exempel. Microsoft tillhandahåller programmerings exempel endast i syfte utan garanti vare sig eller underförstått. Detta inkluderar, men är inte begränsat till, underförstådda garantier avseende säljbar het eller lämplighet för ett visst ändamål. I den här artikeln förutsätts det att du känner till det programmeringsspråk som visas och hur du kan använda verktygen för att skapa och felsöka procedurer. Microsofts support tekniker kan förklara funktionerna för en viss procedur. De här exemplen ändras emellertid inte för att du ska kunna lägga till funktioner eller bygga procedurer för att uppfylla dina särskilda krav.

Lösning

Lös problemet genom att använda den här snabb korrigeringen på servern med Commerce Server 2009. När du har installerat den här snabb korrigeringen kan du använda cachelagring av underordnade produkter och underordnade kategorier i katalog-cachen när du använder ett "whereClause"-filter. Som standard hoppar alla frågor som innehåller en WHERE-sats över katalog-cachen. För att aktivera cachelagring måste du lägga till ett "cacheFilter"-avsnitt och konfigurera det korrekt i Web. config-filen för Commerce Server-webbplatsen. Avsnittet "cacheFilter" innehåller följande attribut:

  • Attributet "whereClause".

  • Attributet "exactMatch".

Du kan använda något av följande alternativ för att hantera vilken WHERE-sats som ska cachelagras:

  • Ange hela WHERE-satsen i "whereClause"-attributet och ange sedan attributet "exactMatch" till True.

  • Ange en WHERE-sats i "whereClause"-attributet och ange sedan attributet "exactMatch" till falskt. Detta gör det möjligt för Commerce Server att cachelagra valfri WHERE-sats som har en ofullständig matchning på vad som har angetts i konfigurations filen.

Obs! Attributet "exactMatch" är valfritt. Om du utelämnar attributet "exactMatch" är det till Truesom standard. I följande exempel visas hur du ändrar konfigurations avsnittet. I det här exemplet visas användning av attributet "exactMatch".

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

Regler för definiering av värdet för attributvärdet "whereClause" i cacheFilter avsnittObs värdet för attributet "whereClause" i avsnittet "cacheFilter" är en sträng som matchar. Följande regler måste till exempel följas:

  • Endast ett tomt utrymme tillåts bland nyckelorden "whereClause". Till exempel:

    • whereClause = "Produktnr som" AW2% "" matchas inte

    • whereClause = "Produktnr som" AW2% "" matchas

  • Inga tomma utrymmen är tillåtna i början eller slutet av attributvärdet "whereClause" om det finns flera nyckelords värden. Till exempel:

    • whereClause = "Produktnr som" AW2% "" matchas inte

    • whereClause = "Produktnr som" AW2% "" matchas inte

  • Det endelade, offererade under värdet i attributet "whereClause" måste vara fullständigt sträng matchat. Anta till exempel att Sök frågan är "Produktnr som" AW2% ""; i det här fallet

    • whereClause = "Produktnr som" AW2 "är inte en träff

    • whereClause = "Produktnr som" AW2% "är en träff

Mer information om den här snabb korrigeringen

Information om snabb korrigeringar

Det finns en snabb korrigering som stöds av Microsoft. Denna snabb korrigering är dock endast avsedd att åtgärda det problem som beskrivs i den här artikeln. Använd bara den här snabb korrigeringen på datorer där problemet beskrivs i den här artikeln. Den här snabb korrigeringen kan komma att testas. Om ditt arbete inte störs alltför mycket av detta problem rekommenderar vi att du väntar på nästa program varu uppdatering som innehåller den här snabb korrigeringen. Om det finns en snabb korrigering som kan hämtas finns det "snabb korrigering finns tillgänglig" högst upp i den här Knowledge Base-artikeln. Om det här avsnittet inte visas kontaktar du Microsofts kund tjänst och support för att få snabb korrigeringen. Obs! Om det uppstår fler problem eller om någon fel sökning krävs kan du behöva skapa en separat tjänst förfrågan. De vanliga support kostnaderna gäller för ytterligare supportfrågor och problem som inte berättigar till denna särskilda snabb korrigering. En fullständig lista över Microsofts kund tjänst och support telefonnummer eller för att skapa en separat service förfrågan finns på följande Microsoft-webbplats:

http://support.microsoft.com/contactus/?ws=supportObs! Formuläret "snabb korrigering tillgänglig" visar de språk som snabb korrigeringen är tillgänglig för. Om du inte ser ditt språk beror det på att det inte finns någon snabb korrigering för det språket.

Förutsättningar

För att du ska kunna använda den här snabb korrigeringen måste du ha installerat Template Pack för Commerce Server 2009 eller Commerce Server 2009 för SharePoint 2010.

Starta om information

Du behöver inte starta om datorn när du har installerat den här snabb korrigeringen. Men du måste starta om Internet Information Services (IIS) när du har installerat den här snabb korrigeringen. Starta om IIS genom att öppna kommando tolken, skriva följande kommando och sedan trycka på RETUR:

iisreset-/restartObs! Det här alternativet stoppar alla IIS-tjänster som körs och startar sedan om dem.

Filinformation

Den engelska versionen av denna snabb korrigering har filattributen (eller senare) som visas i följande tabell. Datum och tid för dessa filer visas i UTC (Coordinated Universal Time). När du visar fil informationen konverteras den till lokal tid. Använd fliken tidszon i alternativet datum och tid på kontroll panelen för att hitta skillnaden mellan UTC och lokal tid.

För alla versioner av Commerce Server 2009 som stöds

Fil namn

Fil version

Fil storlek

Datum

Tider

Versioner

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

För alla versioner av Commerce Server 2009 Template Pack för SharePoint 2010

Fil namn

Fil version

Fil storlek

Datum

Tider

Versioner

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

Status

Microsoft har bekräftat att det här är ett problem i Microsoft-produkterna som nämns i "gäller".

Mer information

Observera följande två punkter under och efter avinstallation av snabb korrigeringen:

  1. Ett dialog fönster visas. I dialog fönstret visas en varning om att vissa program måste stängas innan du kan fortsätta med avinstallationen. I det här fallet acceptera standard markeringen och klicka på OK -knappen för att fortsätta.

  2. När du har avinstallerat snabb korrigeringen för Commerce Server 2009 kan både Commerce Server 2009 och Commerce Server 2007 visas på Start-menyn. I den här situationen kan du bortse från eller ta bort meny alternativet Commerce Server 2007.

För mer information, gå till följande webbplatser för Microsoft Developer Network (MSDN):

catalog Element CategoryConfiguration Class GetCategory-metodDu kan hämta mallar för Commerce Server 2009 för SharePoint 2010 på följande Microsoft-webbplats:

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

Behöver du mer hjälp?

Vill du ha fler alternativ?

Utforska prenumerationsförmåner, bläddra bland utbildningskurser, lär dig hur du skyddar din enhet med mera.

Communities hjälper dig att ställa och svara på frågor, ge feedback och få råd från experter med rika kunskaper.

Hade du nytta av den här informationen?

Hur nöjd är du med språkkvaliteten?
Vad påverkade din upplevelse?
Genom att trycka på skicka, kommer din feedback att användas för att förbättra Microsofts produkter och tjänster. IT-administratören kan samla in denna data. Sekretesspolicy.

Tack för din feedback!

×