PracticU

Service Throttling

בלי כתוביותעם כתוביות
PracticU › קורס WCF - תקשורת למתקדמים בדוט-נט › Service Throttling
מילון מושגים:
שירות - תוכנה שרצה ברקע ומספקת פונקציונליות לרכיבים אחרים, לרוב ללא ממשק משתמש, ומופעלת אוטומטית עם המערכת.
אובייקט - יחידה בתכנות מונחה עצמים שמאגדת נתונים (תכונות) ופעולות (מתודות). נוצר בדרך כלל ממחלקה המשמשת כתבנית.
שרת - מחשב או תוכנה שמספקים שירות למחשבים אחרים (לקוחות) ברשת, למשל אחסון קבצים, אתר אינטרנט או מסד נתונים, ומגיבים לבקשות שלהם.
לקוח - תוכנה או מחשב שפונים לשרת ומבקשים ממנו שירות או מידע, למשל דפדפן שמבקש דף אינטרנט.

Service Throttling
השיעור מציג את Service Throttling, המנגנון שמגביל כמה פעולות השירות יכול לקבל ולהריץ בו זמנית, בדומה למשנק שמווסת את הדלק ברכב.
שלוש ההגדרות
1. MaxConcurrentCalls: מספר הקריאות המקסימלי שמתבצעות בו זמנית על ערוץ אחד. ברירת המחדל היא 16, ובשיעור הוגדר 20.
2. MaxConcurrentInstances: מספר המופעים (אובייקטים) של השירות שיכולים לרוץ בו זמנית. בשיעור הוגדר 30.
3. MaxConcurrentSessions: מספר הסשנים (הלקוחות) שיכולים להתחבר בו זמנית. בשיעור הוגדר 50. ההגדרה רלוונטית רק לביינדינג שתומך בסשנים.
קשר להתנהגויות אחרות
1. ConcurrencyMode: קובע כמה טרדים משרתים את השירות. Single הוא טרד אחד, והקריאות נשרתות בזו אחר זו. Multiple הוא כמה טרדים, ולכן צריך לטפל בגישה משותפת לנתונים, למשל בנעילות. Reentrant הוא טרד אחד, אבל השירות יכול לקבל קריאות חדשות כשהוא ממתין לשירות אחר.
2. InstanceContextMode: קובע כמה אובייקטים נוצרים. PerSession יוצר אובייקט לכל לקוח. PerCall יוצר אובייקט חדש לכל קריאה. Single יוצר אובייקט אחד לכל הלקוחות.
שיקול
אם הבחירה היא PerCall, המגבלה של 20 קריאות או 30 מופעים עשויה להיות קטנה מדי, כי כל קריאה יוצרת אובייקט חדש. לכן יש להתאים את ההגדרות זו לזו.
ההגדרות פועלות יחד, ולכן צריך לבחור אותן כמערכת אחת.
השיעור הבא בקורס: Contract Attributes

פרקי ההרצאה: Service Throttling

  1. 00:00

    מהו Service Throttling

  2. 00:54

    הוספת Service Throttling לקובץ ההוסט

  3. 01:31

    Max Concurrent Calls והגדרת הערך

  4. 02:10

    מאפיין Concurrency Mode של השירות

  5. 03:21

    Single ו-Multiple: טרד יחיד או כמה טרדים

תמלול ההרצאה: Service Throttling

הטקסט המלא של הדקות הראשונות בהרצאה «Service Throttling» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.

  1. 00:20

    הדבר הבא שאנחנו הולכים לראות בנוגע ל-Behaviors נקרא Service Throttling. המילה Throttling באה מהמילה משנק, בעברית זה נקרא משנק.

  2. 00:31

    זה בעצם הרכיב הזה ברכב שאחראי על אספקת הדלק יותר או פחות וכך הוא בעצם יכול לחנוק את הרכב אם הוא רוצה. אז אותה משמעות אנחנו יכולים להגדיר בשירות של ה-WCF וכאילו לחנוק כל מיני דברים שקשורים לסרוויס עצמו או לאפשר אותם.

  3. 00:53

    אוקיי, אז בואו נסתכל איך אנחנו מבצעים את הקונפיגורציה הזאת. אז אנחנו הולכים ל-app.config של ה-host, ואנחנו רוצים לבצע קונפיגוריישן של הדבר הזה.

  4. 01:09

    ניכנס ל-Behaviors, יש לנו פה Advanced Service Behaviors, ל-Behavior של הכלכלתור שבנינו, ונוסיף עוד Behavior שנקרא Service Throttling.

  5. 01:25

    נבצע Add ונלחץ עליו Double Click. עכשיו אנחנו רואים שיש לו סך הכל שלוש הגדרות. נתחיל להבין מה זה אומר ההגדרה הראשונה. Max concurrent calls זה המקסימום הקריאות הבו זמניות, כלומר שמתבצעות בו זמנית על channel מסוים.

  6. 01:50

    זאת אומרת כמה קריאות channel יכול לטפל בהם בו זמנית מכל מיני לקוחות. הדיפולט זה 16 ואנחנו יכולים להגדיר כמה שאנחנו רוצים. בואו נגדיר נניח 20 ונבצע פה סייבינג פייל סייב.

  7. 02:10

    אנחנו תכף הולכים להתעסק עם השתיים האחרים אבל קודם כל בואו נראה את הדבר הזה בתוך קובץ האפ קונפיג ואנחנו רואים שיש לנו פה max concurrent calls ואנחנו הגדרנו אותו כ-20, עכשיו הערך הזה מושפע מעוד אטריביוט שהוא גם בעצם service behavior שניתן לתת לסרוויס שלנו על ידי אטריביוט מסוים אז בואו נחזור לסרוויס עצמו ונראה את האטריביוט הזה אז בעצם

  8. 02:45

    אנחנו צריכים יש לנו פה service behavior והמאפיין שאנחנו רוצים להגדיר נקרא concurrency mode. concurrency mode זהו מאפיין שהטיפוס שלו נקרא concurrency mode גם כן.

  9. 03:21

    בואו ניתן לו concurrency mode נקודה ויש לו שלושה ערכים. ראשית סינגל. סינגל אומר שאנחנו נמצאים בסינגל טרדד. זאת אומרת שהשירות שלנו פועל בטרד יחיד ואז גם אם בוא נניח יש מספר פניות בו זמנית בצ'אנל, עדיין השירות שלנו משרת כל אחת באופן נפרד כי הוא חי על טרד אחד.

  10. 03:52

    מלטיפל זה אומר שיש כמה טרדים שיכולים לשרת את הקריאות השונות, אז אם הערוץ תקשורת שלנו אומר יש לי אפשרות לתת לך 20 קריאות בו זמנית בדיוק כמו שאנחנו הגדרנו, עדיין אני יכול לשרת את כולם בבת אחת.

  11. 04:08

    כל קריאה אני יכול לבנות לה איזשהו אובייקט נפרד שמשרת את הקריאה הזאת. כמובן ששתי ההגדרות האלה אני צריך להבין שאם נניח

לקורס המלא: קורס WCF אונליין בדוט-נט

ההרצאה הקודמת: 3 Levels Behaviors

ההרצאה הבאה: Contract Attributes

הרצאות קשורות מקורסים אחרים

  • Create Service
  • Angular 4 - Service
  • מה זה Web Service
  • Service Module

קורסים נוספים במסלול

  • קורס WinForms - תוכנות רגילות בווינדוס
  • פרויקט מעשי ב-#C - בונים מחשבון פשוט
  • פרויקט מעשי ב-#C - ספר טלפונים
  • פרויקט מעשי ב-#C - תוכנת צייר
  • קורס ADO.NET - חיבור אתר למסד נתונים
  • קורס תכנות מתקדם - #Advanced .NET C