
OperationBehavior מעל הפונקציה. בשיעור הוזכרו AutoDisposeParameters ו-ReleaseInstanceMode.הטקסט המלא של הדקות הראשונות בהרצאה «3 Levels Behaviors» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.
הדבר הבא שאנחנו הולכים לראות נקרא Behaviors, כלומר התנהגויות. ישנם שלושה מקומות שאנחנו יכולים להגדיר התנהגות.
בואו נראה אותם. המקום הראשון הוא Service Behavior, זאת אומרת שזו התנהגות ברמת כל הסרוויס. אז בואו עוד פעם נחזור ל-App Config של הסרוויס, נדליק לפני זה את WCF Service Configuration Editor, נחבר אותו מייד כשהוא קופץ, נחזור ל-app-config של ה-host ונדליק אותו מפה.
עכשיו אנחנו רוצים לראות מה זאת אומרת התנהגות לגבי כל ה-service. אנחנו יכולים ללכת ל-advanced ולראות שיש לנו פה service behavior, behaviors יותר נכון, ואנחנו הגדרנו התנהגות אחת ויחידה.
וההתנהגות שאנחנו הגדרנו, אנחנו יכולים לראות אותה כאן, זה היה Service Metadata. בכדי להדליק התנהגות נוספת אנחנו ראינו שאפשר ללחוץ על לחצן Add. קודם כל, מה זה היה Service Metadata?
בפרוויס מטא דאטה עשינו את זה תכלס כמעט כל פעם שבנינו פרוויס וזה הגדיר שמסמך ה-WSDL שלנו הוא באוויר על ידי זה שהגדרנו true וזאת הכתובת שלו, יכלנו להגדיר שהוא נמצא לדוגמה על HTTPS, כלומר Secured, ויכלנו להגדיר כל מיני הגדרות נוספות בקשר לסרוויס מטא דאטה.
אבל יש לנו פה יכולת להוסיף המון הגדרות אחרות. אם אנחנו לוחצים על הלחצן Add אנחנו רואים שיש פה המון התנהגויות נוספות כל אחת מההתנהגויות האלה מתעסקת במשהו אחר לגמרי.
אז בואו נראה לדוגמה התנהגות שנקראת Service Debug. נדליק אותה וניכנס אליה בשביל לבצע קונפיגורציות בה. דרך אגב אנחנו יכולים לעשות פה Up או Down רק בכדי שזה יהיה בקובץ ה-App Config בסדר שאנחנו רוצים שיהיה, חוץ מזה אין לזה ממש חשיבות.
אז אנחנו לוחצים על Service Debug ויש פה כל מיני הגדרות בנוגע ל-Debug. ואנחנו, מעניין אותנו כרגע ההגדרה הזאתי. Include exception details detail in faults.
Fault זה שגיאה שקיימת בצד של השרת. אוקיי? אז, by default ההתנהגות הזאת היא false. זאת אומרת שלא מתבצע ה-include של exception detail במצב של חריגות מהשרת.
אוקיי, בואו נראה מה זה אומר. נשאיר רגע את ה-false, לא נשמור שום שינויים, ונייצר חריגה בצד של השרת. בואו נלך לדוגמה ל-divide ונגיד דבר כזה.
במידה ו-num2 הוא 0, אז אנחנו זורקים חריגה משלנו שנקראת new divide by 0 exception, נמצאת ב-using system, ופשוט מאוד נגיד לו אסור לחלק ב-0, כי דאבל דרך אגב יכול לבצע חלוקה ב-0 כאשר הוא מחזיק איזשהו ביטוי שנקרא אינסוף חיובי או אינסוף שלילי.
פוזיטיב אינפיניטי או נגטיב אינפיניטי. אבל בואו נניח שאנחנו לא מאשרים את זה כרגע במחשבון שלנו, אז אנחנו כרגע זרקנו פה איזושהי חריגה, ובואו נניח אפילו ניתן פה you can't divide by 0. כעת זה מה שהסרוויס עושה כאשר ישנו ניסיון לחלק ב-0, כאשר המספר השני הוא 0.
אז בואו נלך וננסה לראות מה קורה אם באמת הלקוח מנסה לחלק באפס ולצורך כך נלך ללקוח ונשנה את הלחצן add או שיותר טוב נוסיף לחצן אחר משלנו שיבצע פעולה של divide אז בואו נרחיב פה את הטופס טיפה, נשכפל את הלחצן הזה נגדיר שהלחצן הבא יבצע פעולה של division
בואו נקרא לו btn div ונגדיר עליו את המילה דיו ניכנס לתוך הלחצן ופשוט נעתיק