We couldn’t sign you in
Select the account you want to use.

Symptomy

Rozpatrzmy następujący scenariusz:

  • Buforowanie jest włączone w systemie katalogowym w pliku Web. config dla witryny sieci Web, na której jest uruchomiony program Microsoft Commerce Server 2009.

  • Klasa CategoryConfiguration umożliwia określenie wstępnie załadowanej konfiguracji obiektu kategorii .

  • Właściwość LoadChildProducts jest ustawiana na wartość PRAWDA.

  • Klauzula filtrowania jest określana we właściwości CategoryConfiguration. ChildProducts. SqlWhereClause .

  • Do pobierania kategorii podrzędnych lub produktów podrzędnych obiektu CategoryConfiguration jest używana metoda GetCategory lub metoda getproduct .

W tym scenariuszu buforowanie wykazu nie może być używane do pobierania kategorii podrzędnych i produktów podrzędnych. W związku z tym witryna sieci Web może powodować spadek wydajności w przypadku dużego obciążenia. Na przykład masz witrynę sieci Web korzystającą z przykładowego wykazu AdventureWorks. Aby pobrać nazwę wyświetlaną obiektu kategorii , należy uruchomić Poniższy przykładowy kod. W tym przykładzie kod bada dane z bazy danych wykazu za każdym razem, chociaż buforowanie wykazu jest włączone.

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

Uwaga Ten sam problem występuje w przypadku użycia metody getproduct w przykładzie kodu. Firma Microsoft dostarcza przykładów programistycznych tylko dla ilustracji, bez żadnych gwarancji wyrażonych wprost lub domyślnie. Dotyczy to, ale nie jest ograniczona do, domniemanych gwarancji dotyczących przydatności handlowej lub przydatności do określonego celu. W tym artykule przyjęto założenie, że znasz język programowania, który jest prezentowany, oraz narzędzia używane do tworzenia i debugowania procedur. Inżynierowie pomocy technicznej firmy Microsoft mogą pomóc w wyjaśnieniu funkcji konkretnej procedury. Nie będą one jednak w stanie modyfikować tych przykładów, aby zapewnić dodatkową funkcjonalność lub konstruować procedury w celu spełnienia określonych wymagań.

Rozwiązanie

Aby rozwiązać ten problem, Zastosuj tę poprawkę do serwera, na którym jest uruchomiony program Commerce Server 2009. po zastosowaniu tej poprawki buforowanie produktów podrzędnych i kategorii podrzędnych w pamięci podręcznej wykazu jest dozwolone, gdy jest używany filtr "whereClause". Domyślnie wszystkie zapytania zawierające klauzulę WHERE pomijają pamięć podręczną wykazu. Aby włączyć buforowanie, należy dodać sekcję "cacheFilter" i poprawnie ją skonfigurować w pliku Web. config dla witryny internetowej programu Commerce Server. W sekcji "cacheFilter" znajdują się następujące atrybuty:

  • Atrybut "whereClause".

  • Atrybut "exactMatch".

Możesz użyć jednej z następujących opcji, aby zarządzać klauzulą WHERE w pamięci podręcznej:

  • Określ całą klauzulę WHERE w atrybucie "whereClause", a następnie ustaw dla atrybutu "exactMatch" wartość true.

  • Określ klauzulę WHERE w atrybucie "whereClause", a następnie ustaw wartość falsedla atrybutu "exactMatch". Umożliwia to programowi Commerce Server buforowanie dowolnej klauzuli WHERE, która ma częściowe dopasowanie do tego, co określono w pliku konfiguracji.

Uwaga Atrybut "exactMatch" jest opcjonalny. Domyślnie, jeśli pominięto atrybut "exactMatch", zostanie on ustawiony na wartość true. W poniższym przykładzie pokazano, jak zmodyfikować sekcję konfiguracji. W tym przykładzie pokazano również użycie atrybutu "exactMatch".

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

Reguły definiujące wartość atrybutu "whereClause" w sekcji cacheFilterUwaga wartość atrybutu "whereClause" w sekcji "cacheFilter" jest zgodna z ciągiem. Na przykład muszą być stosowane następujące reguły:

  • W słowach kluczowych wartości atrybutu "whereClause" może występować tylko jedno białe miejsce. Na przyk³ad:

    • whereClause = "ProductID like" AW2% ' "nie pasuje

    • whereClause = "Identyfikator produktu, na przykład" AW2% "jest dopasowany

  • Na początku lub końcu wartości atrybutu "whereClause" nie można używać białych spacji, jeśli istnieje wartość wielu słów kluczowych. Na przyk³ad:

    • whereClause = "ProductID like" AW2% ' "nie pasuje

    • whereClause = "ProductID like" AW2% ' "nie pasuje

  • Wartość podrzędna cytowana w pozostałej części w atrybucie "whereClause" musi być zgodna całkowicie z ciągiem. Załóżmy na przykład, że kwerenda wyszukiwania to "ProductID" AW2% "; w tym przypadku

    • whereClause = "ProductID like" AW2 "nie jest odpowiednikiem

    • whereClause = "ProductID like" AW2% "jest zgodny

Więcej informacji na temat tej poprawki

Informacje dotyczące poprawki

Obsługiwana poprawka jest dostępna w firmie Microsoft. Ta poprawka jest jednak przeznaczona tylko do usunięcia problemu opisanego w tym artykule. Poprawkę należy stosować tylko w przypadku systemów, w których występują problemy opisane w tym artykule. Ta poprawka może być dodatkowo testowana. Jeśli nie jest to poważnie narażony na ten problem, zalecamy poczekanie na następną aktualizację oprogramowania zawierającą tę poprawkę. Jeśli poprawka jest dostępna do pobrania, na początku tego artykułu z bazy wiedzy znajduje się sekcja "Poprawka dostępna do pobrania". Jeśli ta sekcja nie pojawi się, skontaktuj się z działem obsługi klienta firmy Microsoft i pomocą techniczną, aby uzyskać poprawkę. Uwaga Jeśli wystąpią dodatkowe problemy lub jeśli jest wymagane rozwiązanie problemu, może być konieczne utworzenie oddzielnego żądania usługi. Zwykłe opłaty za pomoc techniczną będą dotyczyć dodatkowych pytań i problemów, które nie kwalifikują się do tej konkretnej poprawki. Aby uzyskać pełną listę numerów telefonów działu obsługi klienta firmy Microsoft lub utworzyć osobne żądanie usługi, odwiedź następującą witrynę firmy Microsoft w sieci Web:

http://support.microsoft.com/contactus/?ws=supportUwaga W formularzu "Poprawka dostępna do pobrania" są wyświetlane Języki, dla których jest dostępna poprawka. Jeśli nie widzisz swojego języka, oznacza to, że poprawka nie jest dostępna dla tego języka.

Wymagania wstępne

Aby można było zastosować tę poprawkę, musi być zainstalowany pakiet szablonów programu Commerce Server 2009 lub Commerce Server 2009 w programie SharePoint 2010.

Informacje dotyczące ponownego uruchamiania

Po zastosowaniu tej poprawki nie trzeba ponownie uruchamiać komputera. Jednak po zastosowaniu tej poprawki należy ponownie uruchomić Internetowe usługi informacyjne (IIS). Aby uruchomić ponownie internetowe usługi informacyjne, Otwórz okno wiersza polecenia, wpisz następujące polecenie, a następnie naciśnij klawisz ENTER:

iisreset/restartUwaga Ta opcja powoduje zatrzymanie wszystkich uruchomionych usług IIS, a następnie ponowne ich uruchomienie.

Informacje dotyczące pliku

Wersja angielskojęzyczna tej poprawki ma atrybuty plików wymienione w poniższej tabeli (lub nowsze). Daty i godziny dla tych plików są podane w formacie UTC (Coordinated Universal Time). Podczas wyświetlania informacji o pliku są one konwertowane na czas lokalny. Aby sprawdzić różnicę między czasem UTC a lokalnym, Użyj karty strefa czasowa w elemencie Data i godzina w panelu sterowania.

Wszystkie obsługiwane wersje programu Commerce Server 2009

Nazwa pliku

Wersja pliku

Rozmiar pliku

Date

Okresie

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

Wszystkie obsługiwane wersje pakietu szablonów programu Commerce Server 2009 dla programu SharePoint 2010

Nazwa pliku

Wersja pliku

Rozmiar pliku

Date

Okresie

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

Stan

Firma Microsoft potwierdziła, że jest to problem występujący w produktach firmy Microsoft wymienionych w sekcji "dotyczy".

Więcej informacji

Po odinstalowaniu poprawki należy wziąć pod uwagę następujące dwa kwestie:

  1. Może zostać wyświetlone okno dialogowe. Okno dialogowe ostrzega, że niektóre aplikacje muszą być zamknięte, zanim będzie można kontynuować proces odinstalowywania. W takiej sytuacji Zaakceptuj zaznaczenie domyślne i kliknij przycisk OK , aby kontynuować.

  2. Po odinstalowaniu poprawki programu Commerce Server 2009 zarówno program Commerce Server 2009, jak i Commerce Server 2007 mogą być wyświetlane w menu Start. W takiej sytuacji można zignorować lub usunąć element menu Commerce Server 2007.

Aby uzyskać więcej informacji, odwiedź następującą witrynę internetową Microsoft Developer Network (MSDN):

Metoda GetCategory CategoryConfiguration klasy elementu wykazuAby pobrać pakiet szablonów usługi Commerce Server 2009 dla programu SharePoint 2010, odwiedź następującą witrynę firmy Microsoft w sieci Web:

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

Potrzebna dalsza pomoc?

Rozwijaj swoje umiejętności
Poznaj szkolenia
Uzyskuj nowe funkcje w pierwszej kolejności
Dołącz do niejawnych testerów firmy Microsoft

Czy te informacje były pomocne?

Jaka jest jakość języka?
Co wpłynęło na Twoje wrażenia?

Dziękujemy za opinię!

×