PracticU

Proxy - Add Service Reference

בלי כתוביותעם כתוביות
PracticU › קורס WCF - תקשורת למתקדמים בדוט-נט › Proxy - Add Service Reference
מילון מושגים:
פרוקסי - שרת מתווך שמעביר בקשות בין לקוח ליעד, ויכול לשמש להסתרה, לסינון, למטמון או לבקרת גישה.
שירות - תוכנה שרצה ברקע ומספקת פונקציונליות לרכיבים אחרים, לרוב ללא ממשק משתמש, ומופעלת אוטומטית עם המערכת.
לקוח - תוכנה או מחשב שפונים לשרת ומבקשים ממנו שירות או מידע, למשל דפדפן שמבקש דף אינטרנט.
מחלקה - תבנית בתכנות מונחה עצמים שמגדירה אילו נתונים ופעולות יהיו לאובייקטים שנוצרים ממנה.
כפתור - רכיב בממשק המשתמש שהמשתמש לוחץ עליו כדי להפעיל פעולה, כמו שליחת טופס או מעבר לדף אחר.
DLL - קובץ ספרייה ב-Windows המכיל קוד ופונקציות שתוכנות שונות יכולות לטעון ולהשתמש בהן במשותף.
מערך - מבנה נתונים שמאחסן אוסף ערכים מאותו סוג ברצף, שאפשר לגשת אליהם לפי מספר מיקום (אינדקס).
Dictionary - מבנה נתונים שמאחסן זוגות של מפתח וערך, ומאפשר שליפה מהירה של ערך לפי מפתחו.

Proxy - Add Service Reference
השיעור עוסק ביצירת פרוקסי בצד הלקוח באמצעות Add Service Reference, ובאפשרויות שמציג החלון המתקדם שלו.
יצירת הפרוקסי
1. לוחצים לחיצה ימנית על References ובוחרים Add Service Reference.
2. מדביקים את כתובת ה-WSDL ולוחצים Go. התנאי: השירות חייב לרוץ, כי ה-WSDL נשלף ממנו.
3. נותנים שם למרחב השמות, למשל CalculatorDemo. המחלקות שייווצרו ישבו בתוכו.
4. כפתור Discover מוצא שירותי Web שקיימים בפתרון.
אפשרויות Advanced
1. Access Level: Public או Internal. Internal מגביל את השימוש במחלקות לפרויקט הנוכחי. Public נחוץ אם DLL אחר ישתמש בהן.
2. Generate Asynchronous Operations: יוצר פונקציות אסינכרוניות לצד הרגילות.
3. Collection Types: קובע איזה טיפוס קולקציה יגיע מהשרת ללקוח, למשל מערך חד-ממדי שהופך ל-List.
4. Dictionary Collection Types: אותו עיקרון לקולקציות מסוג מפתח-ערך, למשל Dictionary שהופך ל-Hashtable.
5. Reuse Types: מאפשר להשתמש במחלקה קיימת מ-DLL, במקום לייצר לה עותק בתוך הפרוקסי.
6. Add Web Reference: מחבר ל-Web Service ישן (ASMX) במקום לשירות WCF.
האפשרויות מאפשרות לשלוט בצורת הקוד שנוצר, בלי לשנות את השירות עצמו.
השיעור הבא בקורס: Proxy - svcutil

פרקי ההרצאה: Proxy - Add Service Reference

  1. 00:00

    יצירת פרוקסי עם Add Service Reference

  2. 01:01

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

  3. 01:47

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

  4. 02:25

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

  5. 02:58

    אפשרויות Advanced: Access Level

  6. 03:51

    הפעלה אסינכרונית של הפונקציות

  7. 04:30

    טיפוסי הנתונים והסריאליזציה

תמלול ההרצאה: Proxy - Add Service Reference

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

  1. 00:20

    אנחנו עוברים לנושא של יצירת פרוקסי. אנחנו ראינו שכאשר קונסיומר מתחבר לווב סרוויס, אז מה שהוא צריך לעשות זה מכה שימניה לרפרנסז, לבחור Add Service Reference, ואז להוסיף את המיקום של קובץ ה-WSDL לכדי להתחבר למסמך הזה, להוריד אותו, וכך נוצר לי פרוקסי.

  2. 00:44

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

  3. 00:54

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

  4. 01:27

    ואנחנו רואים שהפרויקט שלנו לא רץ, כלומר הסרוויס לא רץ ולכן הוא לא מצא אותו. אז בואו נריץ אותו, עכשיו אנחנו נוכל לעשות את זה. שוב, מכ"ש ימני, Add Service Reference, Paste, השגיאות קומפילציה זה מאחור בגלל שמחרקנו את ה-Service, וכעת הוא אמור למצוא אותו, ואכן הוא מוצא

  5. 01:56

    אותו. אוקיי, אז בואו נראה כמה דברים בקשר לזה. ראשית, יש לנו כאן את הלחצן Discover. זה אומר שאם בסולושן שלי היה Web Service שרץ על IIS וכרגע נמצא באוויר מבחינת Developer Server, ומבחינת הסולושן קיים לי איי-אס סרוויס כזה, אז דיסקאבר היה מוצא אותו.

  6. 02:25

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

  7. 02:46

    הדבר הבא שאנחנו הולכים לראות זה לחצן Advanced. כאן יש לי עוד כל מיני אופציות להגדיר, עבור ה-Web Service שלנו, יותר נכון ה-WCF Service שלנו.

  8. 02:58

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

  9. 03:17

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

  10. 03:34

    אם הייתי בונה DLL שהיה משתמש ב-Web Service שלנו, או ב-WCF Service יותר נכון, אז היה כדאי להגדיר אותם כ-Public בכדי להשתמש עם המחלקות האלה מחוץ ל-DLL, אם אנחנו רוצים.

  11. 03:49

    אז בואו נגדיר את זה כרגע כאינטרנל. יש לנו כאן צ'קבוקס לגבי Generate Asynchronous Operations. אם אנחנו רוצים להפעיל את הפונקציות שלנו של הסרוויס בצורה אסינכרונית יש לנו אפשרות לסמן את זה ואז המערכת יוצרת לנו פונקציות אסינכרוניות בשביל להפעיל בטרד נפרד את הפונקציות של ה-WCF סרוויס.

  12. 04:17

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

  13. 04:33

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

  14. 04:55

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

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

ההרצאה הקודמת: אירוח service על שרת IIS

ההרצאה הבאה: Proxy - svcutil

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

  • מה זה Proxy ?
  • Add Selenium Library
  • יתרונות של Reference Type
  • Create Service

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

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