PracticU

Multiple Bindings Host

בלי כתוביותעם כתוביות
PracticU › קורס WCF - תקשורת למתקדמים בדוט-נט › Multiple Bindings Host
מילון מושגים:
HTTP - פרוטוקול להעברת דפי אינטרנט ונתונים בין דפדפן לשרת. הגרסה המאובטחת שלו היא HTTPS.
.NET - פלטפורמת פיתוח של מיקרוסופט להרצת יישומים בשפות כמו C#, הכוללת ספריות וסביבת ריצה משותפות.
TCP - פרוטוקול תקשורת אמין שמוודא שכל חבילות המידע מגיעות ליעד בשלמות ובסדר הנכון.
פורט - מספר שמזהה שירות או תהליך מסוים בתוך מחשב, ומאפשר לכוון תעבורת רשת ליעד הנכון. למשל פורט 80 ל-HTTP.
פרוקסי - שרת מתווך שמעביר בקשות בין לקוח ליעד, ויכול לשמש להסתרה, לסינון, למטמון או לבקרת גישה.
Endpoint - נקודת קצה שאליה פונים ב-API, המזוהה בכתובת ומטפלת בסוג מסוים של בקשות. גם מכשיר קצה ברשת.
בנאי - מתודה מיוחדת שמופעלת אוטומטית בעת יצירת אובייקט ממחלקה, ומאתחלת את ערכיו ההתחלתיים.
כפתור - רכיב בממשק המשתמש שהמשתמש לוחץ עליו כדי להפעיל פעולה, כמו שליחת טופס או מעבר לדף אחר.

Multiple Bindings Host
השיעור מציג הוסט אחד שחושף את אותו השירות בכמה ביינדינגים במקביל, ואת האופן שבו הלקוח בוחר באחד מהם.
למה לחשוף בכמה ביינדינגים
לקוחות שונים צריכים תקשורת שונה. לקוחות מכל העולם מתאימים ל-Basic HTTP, לקוחות פנימיים של .NET יכולים ליהנות מהמהירות של TCP, ותוכנה שנמצאת על אותו מחשב יכולה להשתמש ב-Named Pipe. השירות הוא אותו שירות.
הגדרה בהוסט
1. כתובות: כתובת אחת ל-TCP על פורט אחד, וכתובת ל-HTTP על פורט אחר. מסמך ה-WSDL נמצא על כתובת ה-HTTP.
2. Endpoints: מוסיפים שני endpoints לאותו קונטרקט, אחד עם NetTcpBinding ואחד עם BasicHttpBinding.
3. WSDL אחד: מסמך ה-WSDL אחד מתאר את שני הביינדינגים.
הלקוח
1. מוסיפים Service Reference אחד, שיוצר פרוקסי אחד.
2. כשמנסים להשתמש בפרוקסי בלי לציין endpoint, מתקבלת שגיאה. הסיבה: יש יותר מהגדרה אחת לאותו קונטרקט ב-App.config, והמערכת מבקשת לדעת איזו מהן להעדיף.
3. הפתרון הוא להעביר את שם ההגדרה לבנאי של הפרוקסי, למשל new CalculatorClient("..."), כשהשם מועתק מתוך App.config.
4. מוסיפים כפתור לכל ביינדינג, כך שכל אחד מתחבר לביינדינג שלו.
הלקוח בוחר בביינדינג לפי שם ההגדרה ב-App.config, והשירות נשאר אחד.
השיעור הבא בקורס: Binding Configuration

פרקי ההרצאה: Multiple Bindings Host

  1. 00:00

    חשיפת שירות בכמה ביינדינגים בבת אחת

  2. 01:22

    שני אדרסים: TCP ו-HTTP

  3. 02:39

    פורטים נפרדים ל-WSDL ול-TCP

  4. 03:23

    הוספת Endpoint לכל ביינדינג

תמלול ההרצאה: Multiple Bindings Host

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

  1. 00:20

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

  2. 00:32

    אז יכול להיות שאנחנו רוצים שיהיה לנו שירות שנחשף לעולם אבל יש לנו כל מיני סוגים שונים של לקוחות. לדוגמה יש לנו לקוחות מכל העולם שאנחנו לא יודעים מה המערכת שלהם ואנחנו רוצים לחשוף את השירות שלנו ב-Basic HTTP ביינדינג.

  3. 00:48

    לקוחות מסוימים אנחנו יודעים שהם לקוחות פנימיים של החברה בוא נניח ויש להם WCF בצד השני או .NET בצד השני ואנחנו רוצים שבעזרת ה... שספציפית להם אנחנו נחשוף את השירות ב-TCP IP ביינדינג וליהנות מהיתרונות של המהירות לדוגמה של TCP IP. ובנוסף בשרת יש לנו עוד איזושהי מערכת שאנחנו רוצים לדוגמה לתקשר איתה ב-NET Pipe Binding והשירות הוא אותו שירות.

  4. 01:19

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

  5. 01:34

    בדוגמה הקודמת ראינו שאנחנו חושפים את השירות על ידי TCP/IP ביינדינג. אז בואו נוסיף על הביינדינג הזה גם HTTP ביינדינג.

  6. 01:43

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

  7. 02:06

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

  8. 02:30

    שוב, ברגע שיש לי HTTP ו-TCPAP אני לא יכול את אותו הפורט, אז בואו נמציא פורט שונה. בואו ניקח את זה בתור 60.66 גם כן, מפני שזה כן יכול להיות בכתובת של ה-WSDL.

  9. 02:53

    אז יש לנו פה 60.66 פורט, 60.66 פורט גם ה-WSDL ו-60.65 עבור ה-TCPAP. אחרי שהגדרנו את האדרס, אז אנחנו יכולים להגדיר את הביינדינג. ניקח basic htp ביינדינג ובואו נסדר את המשתנים האלה לפי הסדר.

  10. 03:23

    אז יש לנו את זה שזה האדרס יש לנו את זה שזה הביינדינג אוקיי והקונטרקט הוא אותו הקונטרקט אנחנו רוצים את אותו השירות לחשוף בשני המקרים.

  11. 03:38

    אז כל מה שאנחנו צריכים לעשות זה פשוט להוסיף עוד endpoint כאשר ה-endpoint הזאתי בואו ניקח את הראשונה אפילו היא תאזין על htp ביינדינג basic ביינדינג ועל ה-HTTP אדרס, בואו לצורך העקביות נשנה את זה ל-Basic HTTP אדרס, אוקיי, והכל

  12. 04:12

    מוכן בצד של ה-Server.

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

ההרצאה הקודמת: Bindings - NET TCP Binding

ההרצאה הבאה: Binding Configuration

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

  • HOST INVENTORY FILE
  • יצירת Host Profile
  • הסבר על Multiple Props Children
  • שימוש במספר טפסים - Multiple Forms

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

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