Перейти до основного
Підтримка
Вхід
Вхід за допомогою облікового запису Microsoft
Увійдіть або створіть обліковий запис.
Вітаємо,
Виберіть інший обліковий запис.
У вас є кілька облікових записів
Виберіть обліковий запис, за допомогою якого потрібно ввійти.

Ознаки

Розглянемо такий сценарій:

  • Ви вмикаєте кешування у системі каталогів у файлі web. config для веб-сайту, на якому запущено Microsoft Commerce Server 2009.

  • Для визначення попередньо встановленою конфігурації об'єкта категорій використовується клас " категорийконфігурація ".

  • Для властивості " товари для дітей " можна встановити значення True.

  • Ви вказуєте речення фільтрування в конфігурації. SqlWhereClause (Властивості).

  • Ви використовуєте метод Getcategoror або метод getcategory , щоб отримати дочірні категорії або дочірні продукти об'єкта categoration .

У цьому сценарії кешування каталогів може не використовуватись для отримання дочірніх категорій і дочірніх продуктів. Таким чином, веб-сайт може зменшитися, коли відбувається високе завантаження. Наприклад, у вас є веб-сайт, у якому використовується зразок каталогу Авантюрек. Щоб отримати коротке ім'я об'єкта категорії , виконайте наведений нижче приклад коду. У цьому прикладі код даних надсилає дані з бази даних каталогу щоразу, хоча ввімкнуто кешування каталогів.

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

Примітка. Ця ж проблема виникає, коли ви використовуєте метод Getproduct у прикладі коду. Корпорація Майкрософт надає приклади програмування тільки для ілюстрації, без гарантій або неявних. Це включає в себе, але не обмежується, неявні гарантії товарної придатності або придатності для певної мети. У цій статті припускається, що ви знайомі з мовою програмування, що відображається, і з інструментами, які використовуються для створення та налагодження процедур. Інженери служби підтримки Microsoft можуть допомогти пояснити функціональність певної процедури. Однак вони не змінюватимуть ці приклади, щоб надати додаткову функціональність або сконструювати процедури відповідно до конкретних вимог.

Спосіб вирішення

Щоб вирішити цю проблему, застосовуйте це виправлення до сервера, на якому запущено службу Commerce Server 2009. після застосування цього виправлення, кешування дочірніх продуктів і дочірніх категорій в кеші каталогу дозволяється під час використання фільтра "whereClause". За замовчуванням будь-який запит, який містить речення WHERE, обходить кеш каталогу. Щоб увімкнути кешування, потрібно додати розділ "Кесефільтр" і настроїти його належним чином у файлі web. config для веб-сайту сервера комерції. У розділі "cacheFilter" містяться такі атрибути:

  • Атрибут "whereClause".

  • Атрибут "exactMatch".

Можна використовувати один із наведених нижче параметрів, щоб керувати тим, які речення WHERE має кеш:

  • Укажіть усю речення WHERE в атрибуті "whereClause", а потім настройте атрибут "exactMatch" на True.

  • Укажіть речення WHERE в атрибуті "whereClause", а потім настройте атрибут "exactMatch" на false. Ця дія дає змогу використовувати сервер Commerce для кеша будь-якого речення WHERE, який містить часткову відповідність до того, що вказано в конфігураційному файлі.

Примітка. Атрибут "exactMatch" необов'язковий. За замовчуванням, якщо ви не пропустіть атрибут "exactMatch", значення True. У наведеному нижче прикладі показано, як змінити розділ конфігурації. У цьому прикладі також описано використання атрибута "exactMatch".

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

Правила визначення значення атрибута "whereClause" у розділі "Фільтр".Примітка . значення атрибута "whereClause" в розділі "cисефільтр" – відповідає рядкові. Наприклад, слід дотримуватися наведених нижче правил.

  • Серед ключових слів значення атрибута "whereClause" можна використовувати лише один білий простір. Наприклад:

    • whereClause = "код товару like" AW2% "" не відповідає

    • whereClause = "код товару like" AW2% "" відповідає

  • Не можна використовувати пробіли на початку або в кінці значення атрибута "whereClause", якщо є значення "кілька ключових слів". Наприклад:

    • whereClause = "код товару like" AW2% "" не відповідає

    • whereClause = "код товару like" AW2% "" не відповідає

  • У атрибуті «whereClause» виділені підзначення, які мають бути повністю зіставлені. Наприклад, припустимо, що пошуковий запит – "код товару, наприклад" AW2% ""; у цьому випадку

    • whereClause = "код товару like" AW2 "не збігається

    • whereClause = "код товару like" AW2% "– це відповідність

Додаткові відомості про це виправлення

Відомості про виправлення

Корпорацією Майкрософт випущено підтримуване виправлення. Однак це виправлення призначене для виправлення лише проблеми, описаної в цій статті. Застосуємо це виправлення лише до системний інтегратор, які відчувають проблему, описаної в цій статті. Це виправлення може отримати додаткове тестування. Тому, якщо ви не позначилося на цій проблемі, радимо зачекати наступне оновлення програмного забезпечення, яке містить це виправлення. Якщо виправлення доступні для завантаження, у верхній частині цієї статті бази знань є розділ "термінове доступні". Якщо цей розділ не відображається, зверніться до служби підтримки клієнтів Microsoft і підтримайте її, щоб отримати термінове виправлення. Примітка. Якщо виникають додаткові проблеми або якщо потрібно виконати будь-які виправлення неполадок, можливо, знадобиться створити окремий запит на обслуговування. До додаткових питань технічної підтримки та питань, які не відповідають цим виправленням, буде застосовано звичайні витрати на обслуговування. Щоб отримати повний список телефонних номерів служби підтримки клієнтів Microsoft або створити окремий запит на обслуговування, перейдіть на веб-сайт Microsoft:

http://support.microsoft.com/contactus/?ws=supportПримітка. У формі "термінове доступні" відображаються мови, для яких доступний термінове виправлення. Якщо ваша мова не відображається, це означає, що виправлення недоступне для цієї мови.

Попередні вимоги

Щоб скористатися цим виправленням, необхідно мати пакет шаблонів сервера 2009 або служби комерційного сервера 2009 для SharePoint 2010 інстальовано.

Необхідність перезавантаження

Після інсталяції цього виправлення не потрібно перезавантажувати комп'ютер. Однак, після інсталяції цього виправлення потрібно перезапустити Інформаційні служби Інтернету (IIS). Щоб перезапустити IIS, Відкрийте вікно командного рядка, введіть таку команду, а потім натисніть клавішу введіть:

iisreset/RestartПримітка. Цей параметр зупиняє всі служби IIS, які виконуються, а потім перезавантажується.

Відомості про файл

Англійська версія цього виправлення містить атрибути файлів (або новіші атрибути файлів), наведені в таблиці нижче. Дати й час для цих файлів наведено за всесвітнім координованим часом (UTC). Під час перегляду відомостей про файл його буде перетворено на місцевий час. Щоб визначити різницю між UTC і місцевим часом, скористайтеся вкладкою часовий пояс у елементі " Дата й час " на панелі керування.

Для всіх підтримуваних версій комерції Server 2009

Ім'я файлу

Версія файлу

Розмір файлу

Дата

Час

Платформа

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

Для всіх підтримуваних версій сервера 2009 шаблон пакета шаблонів для SharePoint 2010

Ім'я файлу

Версія файлу

Розмір файлу

Дата

Час

Платформа

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

Стан

Корпорація Майкрософт підтвердила, що це проблема в продуктах Microsoft, перелічених у розділі "застосовується до".

Додаткові відомості

Зверніть увагу, що під час і після видалення виправлення слід пам'ятати про такі два моменти:

  1. Можна відобразити діалогове вікно. У діалоговому вікні попередження про те, що деякі програми потрібно закрити, перш ніж продовжити процес неінсталлева. У цій ситуації прийміть вибрані параметри за замовчуванням і натисніть кнопку OK , щоб продовжити.

  2. Після видалення виправлення для служби "сервер 2009" в меню "Пуск" може з'явитися обидві служби Exchange Server 2009 і Commerce Server 2007. У цій ситуації можна ігнорувати або видалити елемент меню "комерція Server 2007".

Щоб отримати докладніші відомості, перейдіть на веб-сайт Microsoft Developer Network (MSDN):

Методкатегоризаціїелемента каталогу "Каталог" закатегоріями "getcategory "Щоб завантажити пакет шаблонів Office Server 2009 для SharePoint 2010, перейдіть на такі веб-сайт Microsoft:

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

Потрібна додаткова довідка?

Потрібні додаткові параметри?

Ознайомтеся з перевагами передплати, перегляньте навчальні курси, дізнайтесь, як захистити свій пристрій тощо.

Спільноти допомагають ставити запитання й відповідати на них, надавати відгуки та дізнаватися думки висококваліфікованих експертів.

Чи ця інформація була корисною?

Наскільки ви задоволені якістю мови?
Що вплинуло на ваші враження?
Натиснувши кнопку "Надіслати", ви надасте свій відгук для покращення продуктів і служб Microsoft. Ваш ІТ-адміністратор зможе збирати ці дані. Декларація про конфіденційність.

Дякуємо за відгук!

×