תיקון: אחסון במטמון של קטלוג אינו נמצא בשימוש בעת השימוש בכיתה CategoryConfiguration יחד עם המאפיין CategoryConfiguration. ChildProducts. SqlWhereClause ב-Commerce Server 2009

חל על: Commerce Server 2009 EnterpriseCommerce Server 2009 Standard

תופעות


שקול את התרחיש הבא:
  • אתה מאפשר אחסון במטמון במערכת הקטלוג בקובץ Web. config עבור אתר אינטרנט שבו פועל Microsoft Commerce Server 2009.
  • השתמש בכיתה CategoryConfiguration כדי לציין את התצורה שנטענה מראש של אובייקט קטגוריה .
  • אתה מגדיר את המאפיין LoadChildProducts כ- True.
  • באפשרותך לציין פסוקית סינון במאפיין CategoryConfiguration. ChildProducts. SqlWhereClause .
  • השתמש בשיטה GetCategory או בשיטה GetProduct כדי לאחזר קטגוריות צאצא או מוצרי צאצא של האובייקט CategoryConfiguration .
בתרחיש זה, ייתכן שאחסון במטמון הקטלוג לא ישמש לאחזור קטגוריות הצאצא ומוצרי הצאצא. לכן, אתר האינטרנט עשוי להיתקל בביצועים מוקטנים כאשר יש עומס גבוה. לדוגמה, יש לך אתר אינטרנט המשתמש בקטלוג המדגם של AdventureWorks. אתה מפעיל את דוגמה הקוד הבאה כדי לאחזר את שם התצוגה של אובייקט קטגוריה . בדוגמה זו, הקוד מבצע שאילתות נתונים ממסד הנתונים של הקטלוג בכל פעם, למרות שאחסון במטמון של קטלוג זמין.
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 מספקת דוגמאות תיכנות להמחשה בלבד, ללא אחריות או מכללא. הדבר כולל, אך אינו מוגבל לאחריות המשתמעת לגבי סחירות או התאמה למטרה מסוימת. מאמר זה מבוסס על ההנחה שאתה מכיר את שפת התיכנות המודגם ובין הכלים המשמשים ליצירה ולהליכים של באגים באגים. מהנדסי התמיכה של Microsoft יכולים לעזור לך להסביר את הפונקציונליות של הליך מסוים. עם זאת, הם לא ישנו דוגמאות אלה כדי לספק פונקציונליות נוספת או לבנות הליכים כדי לעמוד בדרישות הספציפיות שלך.

פתרון


כדי לפתור בעיה זו, החל תיקון חם זה על השרת שבו פועל מסחר Server 2009. לאחר החלת תיקון חם זה, מוצרי הצאצא וקטגוריות הצאצא במטמון הקטלוג מותרים כאשר אתה משתמש במסנן "whereClause". כברירת מחדל, כל שאילתה המכילה פסוקית where עוקפת את מטמון הקטלוג. כדי לאפשר אחסון במטמון, עליך להוסיף מקטע "cacheFilter" ולקבוע את תצורתו כראוי בקובץ Web. config עבור אתר האינטרנט של שרת המסחר. המקטע "cacheFilter" מספק את התכונות הבאות:
  • התכונה ' whereClause '.
  • התכונה ' exactMatch '.
באפשרותך להשתמש באחת מהאפשרויות הבאות כדי לנהל את משפט where לאחסון במטמון:
  • ציין את המשפט where כולו בתכונה "whereClause" ולאחר מכן הגדר את התכונה "exactMatch" לערך True.
  • ציין פסוקית where בתכונה "whereClause" ולאחר מכן הגדר את התכונה "exactMatch" ל- False. פעולה זו מאפשרת לשרת מסחר לאחסן במטמון כל פסוקית 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" במקטע cacheFilterהערה הערך של התכונה "whereClause" במקטע "cacheFilter" מותאם למחרוזת. לדוגמה, יש לעקוב אחר הכללים הבאים:
  • רק רווח לבן אחד מותר בין מילות המפתח "whereClause" של ערך התכונות. לדוגמה:
    • whereClause = "ProductID like ' AW2% '" אינו תואם
    • whereClause = "ProductID like ' AW2% '" מתאימה
  • אין מותרות של רווחים לבנים בהתחלה או בסוף של ערך התכונה "whereClause" אם יש ערך מספר מילות מפתח. לדוגמה:
    • whereClause = "ProductID like ' AW2% '" אינו תואם
    • whereClause = "ProductID like ' AW2% '" אינו תואם
  • ערך המשנה המצוטט באופן יחיד בתוך התכונה "whereClause" חייב להיות תואם למחרוזת במלואה. לדוגמה, נניח ששאילתת החיפוש היא "ProductID like ' AW2% '"; במקרה זה,
    • whereClause = "ProductID like ' AW2 ' אינו תואם
    • whereClause = "ProductID like ' AW2% ' הוא התאמה

מידע נוסף אודות תיקון חם זה

מידע על תיקון חם

תיקון חם נתמך זמין מ-Microsoft. עם זאת, תיקון חם זה מיועד לתקן רק את הבעיה המתוארת במאמר זה. החל תיקון חם זה רק על מערכות שנתקלות בבעיה המתוארת במאמר זה. תיקון חם זה עשוי לקבל בדיקות נוספות. לכן, אם הבעיה אינה משפיעה עליך בחומרה, מומלץ להמתין לעדכון התוכנה הבא המכיל תיקון חם זה. אם התיקון החם זמין להורדה, יש סעיף ' הורדת תיקון חם זמין ' בחלק העליון של מאמר זה במאגר הידע. אם סעיף זה אינו מופיע, פנה לשירות הלקוחות ולתמיכה של Microsoft כדי לקבל את התיקון החם. הערה אם הבעיות הנוספות מתרחשות או אם נדרשת פתרון בעיות, ייתכן שיהיה עליך ליצור בקשה נפרדת לשירות. עלויות התמיכה הרגילות יחולו על שאלות ובעיות נוספות של תמיכה שאינן מעניקות תיקון חם ספציפי זה. לקבלת רשימה מלאה של מספרי הטלפון של שירות הלקוחות והתמיכה של Microsoft, או כדי ליצור בקשת שירות נפרדת, בקר באתר האינטרנט הבא של Microsoft: הערה הטופס "הורדת Hotfix זמין" מציג את השפות שעבורן התיקון החם זמין. אם אינך רואה את השפה שלך, היא משום שתיקון חם אינו זמין עבור שפה זו.

דרישות מוקדמות

כדי להחיל תיקון חם זה, עליך לכלול את חבילת התבניות microsoft Server 2009 או המסחר Server 2009 עבור SharePoint 2010.

הפעלה מחדש של מידע

אין עליך להפעיל מחדש את המחשב לאחר החלת תיקון חם זה. עם זאת, עליך להפעיל מחדש את שירותי המידע של האינטרנט (IIS) לאחר החלת תיקון חם זה. כדי להפעיל מחדש את IIS, פתח חלון שורת פקודה, הקלד את הפקודה הבאה ולאחר מכן הקש ENTER:
iisreset/restart
הערה אפשרות זו מפסיקה את כל שירותי IIS שפועלים ולאחר מכן מפעילה אותם מחדש.

פרטי הקובץ

הגירסה האנגלית של תיקון חם זה כוללת את תכונות הקובץ (או תכונות קובץ מאוחרות יותר) המופיעות בטבלה הבאה. התאריכים והשעות עבור קבצים אלה מפורטים בזמן אוניברסלי מתואם (UTC). בעת הצגת פרטי הקובץ, הוא מומר לשעה מקומית. כדי למצוא את ההפרש בין זמן UTC לשעה מקומית, השתמש בכרטיסיה אזור זמן בפריט ' תאריך ושעה ' בלוח הבקרה.
עבור כל הגירסאות הנתמכות של המסחר Server 2009
שם קובץגירסת קובץגודל קובץתאריךשעהפלטפורמה
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
עבור כל הגירסאות הנתמכות של ערכת התבניות office Server 2009 עבור SharePoint 2010
שם קובץגירסת קובץגודל קובץתאריךשעהפלטפורמה
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

מצב


Microsoft אישרה שזוהי בעיה במוצרי Microsoft המופיעים בסעיף "חל על".

מידע נוסף


שים לב לשתי הנקודות הבאות במהלך ולאחר הסרת ההתקנה של התיקון החם:
  1. ניתן להציג חלון דו-שיח. חלון תיבת הדו מזהיר אותך שחלק מהיישומים צריכים להיסגר לפני שתוכל להמשיך בתהליך הסרת ההתקנה. במצב זה, קבל את בחירת ברירת המחדל ולחץ על לחצן אישור כדי להמשיך.
  2. לאחר הסרת ההתקנה של התיקון החם עבור מסחר Server 2009, שני המסחר Server 2009 ו-Commerce Server 2007 עשויים להופיע בתפריט התחלה. במצב זה, באפשרותך להתעלם או למחוק את פריט התפריט ' מסחר בשרת 2007 '.
לקבלת מידע נוסף, בקר באתרי האינטרנט הבאים של Microsoft Developer Network (MSDN):כדי להוריד את חבילת התבניות של Server Server 2009 עבור SharePoint 2010, בקר באתר האינטרנט הבא של Microsoft: