
הטקסט המלא של הדקות הראשונות בהרצאה «Service Throttling» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.
הדבר הבא שאנחנו הולכים לראות בנוגע ל-Behaviors נקרא Service Throttling. המילה Throttling באה מהמילה משנק, בעברית זה נקרא משנק.
זה בעצם הרכיב הזה ברכב שאחראי על אספקת הדלק יותר או פחות וכך הוא בעצם יכול לחנוק את הרכב אם הוא רוצה. אז אותה משמעות אנחנו יכולים להגדיר בשירות של ה-WCF וכאילו לחנוק כל מיני דברים שקשורים לסרוויס עצמו או לאפשר אותם.
אוקיי, אז בואו נסתכל איך אנחנו מבצעים את הקונפיגורציה הזאת. אז אנחנו הולכים ל-app.config של ה-host, ואנחנו רוצים לבצע קונפיגוריישן של הדבר הזה.
ניכנס ל-Behaviors, יש לנו פה Advanced Service Behaviors, ל-Behavior של הכלכלתור שבנינו, ונוסיף עוד Behavior שנקרא Service Throttling.
נבצע Add ונלחץ עליו Double Click. עכשיו אנחנו רואים שיש לו סך הכל שלוש הגדרות. נתחיל להבין מה זה אומר ההגדרה הראשונה. Max concurrent calls זה המקסימום הקריאות הבו זמניות, כלומר שמתבצעות בו זמנית על channel מסוים.
זאת אומרת כמה קריאות channel יכול לטפל בהם בו זמנית מכל מיני לקוחות. הדיפולט זה 16 ואנחנו יכולים להגדיר כמה שאנחנו רוצים. בואו נגדיר נניח 20 ונבצע פה סייבינג פייל סייב.
אנחנו תכף הולכים להתעסק עם השתיים האחרים אבל קודם כל בואו נראה את הדבר הזה בתוך קובץ האפ קונפיג ואנחנו רואים שיש לנו פה max concurrent calls ואנחנו הגדרנו אותו כ-20, עכשיו הערך הזה מושפע מעוד אטריביוט שהוא גם בעצם service behavior שניתן לתת לסרוויס שלנו על ידי אטריביוט מסוים אז בואו נחזור לסרוויס עצמו ונראה את האטריביוט הזה אז בעצם
אנחנו צריכים יש לנו פה service behavior והמאפיין שאנחנו רוצים להגדיר נקרא concurrency mode. concurrency mode זהו מאפיין שהטיפוס שלו נקרא concurrency mode גם כן.
בואו ניתן לו concurrency mode נקודה ויש לו שלושה ערכים. ראשית סינגל. סינגל אומר שאנחנו נמצאים בסינגל טרדד. זאת אומרת שהשירות שלנו פועל בטרד יחיד ואז גם אם בוא נניח יש מספר פניות בו זמנית בצ'אנל, עדיין השירות שלנו משרת כל אחת באופן נפרד כי הוא חי על טרד אחד.
מלטיפל זה אומר שיש כמה טרדים שיכולים לשרת את הקריאות השונות, אז אם הערוץ תקשורת שלנו אומר יש לי אפשרות לתת לך 20 קריאות בו זמנית בדיוק כמו שאנחנו הגדרנו, עדיין אני יכול לשרת את כולם בבת אחת.
כל קריאה אני יכול לבנות לה איזשהו אובייקט נפרד שמשרת את הקריאה הזאת. כמובן ששתי ההגדרות האלה אני צריך להבין שאם נניח