
ICalculatorCallback (Implement Interface). לכן הפונקציה GetResult נכתבת בטופס, והיא מציגה את התשובה ב-Message Box.InstanceContext שמכיל את this, כלומר את הטופס, כי הוא זה שמימש את הממשק.service.Add(num1, num2). התשובה לא חוזרת מהקריאה, אלא מגיעה מאוחר יותר דרך GetResult. לכן אין ערך להציג מיד בלחיצה.service.Close().ClientBaseAddress כתובת HTTP עם פורט פנוי, כמו 4500 בהדגמה.הטקסט המלא של הדקות הראשונות בהרצאה «Duplex - Client Side» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.
כעת אנחנו רוצים ללכת בדופליקס שבנינו ולבנות את צד הלקוח. קודם כל, בואו נלך וניקח בדיוק את הכתובת של מסמך ה-WSDL בכדי להתחבר ולקבל את הפרוקסי המעודכן.
נעשה קונטרול סי, נסגור את זה. עכשיו אני רוצה למחוק את כל מה שהיה קודם בלקוח, אני רוצה לבצע את זה בצורה חדשה, כי שינינו שם פורטים וכל מיני דברים, שיניתי שם פורטים.
נלך לדיליט, אוקיי, מחקנו את הסרוויס, אנחנו יכולים ללכת ולהסתכל על הקוד גם ולהוריד את כל הקוד הזה מההערות. נגדיר את זה בתור הערה, קוד הזה בתור הערה ואת הקוד הזה בתור הערה.
אוקיי, נבצע Clean Rebuild Solution. Clean Solution, הופה, זה לא היה Clean Solution. Clean Solution, Rebuild Solution, מעולה. נריץ את ה-host, אני רואה שהוא כבר מוגדר כ-set a stop-up project.
עכשיו אנחנו יכולים ללכת וליצור Service Reference חדש, להדביק בו את כתובת ה-WSDL ו-Go. והמערכת יתרה לנו את ה-Service.
נגדיר כאן שוב את אותו ה-Namespace, Calculator Demo, נבצע אוקיי, בואו נראה רגע קודם כל מה יש לנו כאן, נראה שיש לנו ב-iCalculator את הפונקציות האלה, כולל ה-Send Feedback אנחנו רואים אותו, בסדר?
כולל ה-GetResult התכוונתי. אוקיי, נעשה פה איזושהי הרצאה על אוקיי ונראה מה אנחנו צריכים לשנות בצד של הלקוח בכדי שהוא יוכל לעבוד כמו שצריך.
אז דבר ראשון, אנחנו רוצים את ה-Namespace הזה, מפני שכאן מוגדר כל הערכים. דבר הבא שאנחנו רוצים, אנחנו צריכים בצד של הלקוח לממש את האינטרפייס iCalculator Callback, כאשר האינטרפייס iCalculator היה זה ששייך לסרבר והלקוח מממש את iCalculator Callback.
אז אנחנו צריכים כאן, בטופס שלנו לממש את האינטרפייס, אנחנו לא חייבים לעשות את זה בטופס, אנחנו יכולים לבחור מחלקה אחרת, אבל בגלל שאנחנו רוצים להציג אותה תוצאה באזור של הטופס, אולי כדאי שהטופס הוא זה שיממש את הפונקציה.
ומה שאנחנו עושים, אנחנו פשוט באים ובודקים איך קוראים לאינטרפייס הזה. אז נלך למרחב שמות הנוכחי שלנו, הוא אינפורם קונסיומר, בתוכו יש לנו את המרחב שמות שאנחנו הגדרנו כשעשינו עד סרוויס רפרנס והוא נקרא כלקולטור דמו, זאת אומרת שהשמות שנתנו נשארו כמו שהם.
אז בואו ניקח את iCלקולטור Callback, נמחק את כל אלה, ונגיד למערכת שתממש לנו את הפונקציה. Implement Interface על Calculator Callback, Enter, ואנחנו רואים שפה למטה נכתבה לנו הפונקציה.
לפונקציה הזאת אנחנו הולכים לקבל קריאה ממנה מהשר"ט, והשר"ט הולך לשלוח את התשובה כאשר הוא סיים לבצע את החישוב. וכל מה שאנחנו רוצים לעשות זה להציג איזשהו Message Box