PracticU

Duplex - Client Side

בלי כתוביותעם כתוביות
PracticU › קורס WCF - תקשורת למתקדמים בדוט-נט › Duplex - Client Side
מילון מושגים:
טופס - אזור בממשק שבו המשתמש מזין נתונים בשדות ושולח אותם, למשל טופס הרשמה או התחברות.
Callback - פונקציה שמועברת כארגומנט לפונקציה אחרת כדי שתופעל מאוחר יותר, לרוב בסיום פעולה.
פרוקסי - שרת מתווך שמעביר בקשות בין לקוח ליעד, ויכול לשמש להסתרה, לסינון, למטמון או לבקרת גישה.
בנאי - מתודה מיוחדת שמופעלת אוטומטית בעת יצירת אובייקט ממחלקה, ומאתחלת את ערכיו ההתחלתיים.
כפתור - רכיב בממשק המשתמש שהמשתמש לוחץ עליו כדי להפעיל פעולה, כמו שליחת טופס או מעבר לדף אחר.
אירוע - התרחשות שהמערכת מזהה ויכולה להגיב לה, כמו לחיצת עכבר, הקשה או סיום פעולה.
IIS - שרת האינטרנט של מיקרוסופט (Internet Information Services), המריץ אתרים ויישומי אינטרנט על Windows.
HTTP - פרוטוקול להעברת דפי אינטרנט ונתונים בין דפדפן לשרת. הגרסה המאובטחת שלו היא HTTPS.

Duplex - Client Side
בשיעור הזה בונים את צד הלקוח של הדופלקס: טופס Windows שמממש את ממשק ה-callback ומציג את התשובה שהשרת שולח אליו.
הכנת הלקוח
1. Service Reference מחדש: מדביקים את כתובת ה-WSDL ויוצרים פרוקסי חדש. הקוד הישן של הלקוח נמחק, כי הפורטים והגדרות השרת השתנו.
2. מימוש הממשק: הטופס עצמו מממש את ICalculatorCallback (Implement Interface). לכן הפונקציה GetResult נכתבת בטופס, והיא מציגה את התשובה ב-Message Box.
3. יצירת השירות בבנאי: לבנאי של השירות שולחים אובייקט מטיפוס InstanceContext שמכיל את this, כלומר את הטופס, כי הוא זה שמימש את הממשק.
הכפתורים וסגירה
4. הכפתורים: כל כפתור שולח את הערכים לשירות, למשל service.Add(num1, num2). התשובה לא חוזרת מהקריאה, אלא מגיעה מאוחר יותר דרך GetResult. לכן אין ערך להציג מיד בלחיצה.
5. סגירה: באירוע FormClosing של הטופס קוראים ל-service.Close().
פורט ההאזנה של הלקוח
6. התנגשות בפורט 80: בדופלקס גם הלקוח מאזין לקריאות מהשרת, ולכן צריך פורט משלו. ברירת המחדל הייתה פורט 80, שהיה תפוס אצל המרצה בתוכנה אחרת (IIS). לכן מגדירים ב-ClientBaseAddress כתובת HTTP עם פורט פנוי, כמו 4500 בהדגמה.
השיעור הבא בקורס: Message Logging

פרקי ההרצאה: Duplex - Client Side

  1. 00:00

    חיבור מחדש לשירות הדופלקס

  2. 01:41

    Service Reference חדש ותצוגת הפונקציות

  3. 02:33

    מימוש ממשק Callback בטופס

  4. 03:29

    פונקציית Callback שמציגה את התשובה

תמלול ההרצאה: Duplex - Client Side

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

  1. 00:19

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

  2. 00:34

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

  3. 00:47

    נלך לדיליט, אוקיי, מחקנו את הסרוויס, אנחנו יכולים ללכת ולהסתכל על הקוד גם ולהוריד את כל הקוד הזה מההערות. נגדיר את זה בתור הערה, קוד הזה בתור הערה ואת הקוד הזה בתור הערה.

  4. 01:17

    אוקיי, נבצע Clean Rebuild Solution. Clean Solution, הופה, זה לא היה Clean Solution. Clean Solution, Rebuild Solution, מעולה. נריץ את ה-host, אני רואה שהוא כבר מוגדר כ-set a stop-up project.

  5. 01:39

    עכשיו אנחנו יכולים ללכת וליצור Service Reference חדש, להדביק בו את כתובת ה-WSDL ו-Go. והמערכת יתרה לנו את ה-Service.

  6. 01:55

    נגדיר כאן שוב את אותו ה-Namespace, Calculator Demo, נבצע אוקיי, בואו נראה רגע קודם כל מה יש לנו כאן, נראה שיש לנו ב-iCalculator את הפונקציות האלה, כולל ה-Send Feedback אנחנו רואים אותו, בסדר?

  7. 02:12

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

  8. 02:23

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

  9. 02:47

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

  10. 03:02

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

  11. 03:29

    אז בואו ניקח את iCלקולטור Callback, נמחק את כל אלה, ונגיד למערכת שתממש לנו את הפונקציה. Implement Interface על Calculator Callback, Enter, ואנחנו רואים שפה למטה נכתבה לנו הפונקציה.

  12. 03:43

    לפונקציה הזאת אנחנו הולכים לקבל קריאה ממנה מהשר"ט, והשר"ט הולך לשלוח את התשובה כאשר הוא סיים לבצע את החישוב. וכל מה שאנחנו רוצים לעשות זה להציג איזשהו Message Box

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

ההרצאה הקודמת: Duplex - Server Side

ההרצאה הבאה: Message Logging

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

  • Client-Server Architecture - חלק 1
  • הדגמה של NAP Client
  • התקנה ידנית של SCCM CLIENT
  • הגדרת xray vpn client

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

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