Menu
עברית Русский
מכללת פרקטיקיו
- מתחילים ללמוד חינם -
קורסי תכנות / סייבר / ניהול רשת

Bindings - NET TCP Binding

קורסים למנהלי רשת מסלול מנהלי רשת
עם התמחות בשרתי מיקרוסופט
מסלול סייבר והאקינג - Hacking מסלול תקשורת ואבטחת מידע
Cisco CCNA & FortiGate & Checkpoint
מומחה ווירטואליזציה
VMware & Hyper-V
מסלול לינוקס ו-DevOps מומחה ענן של אמזון - AWS מומחה ענן של מיקרוסופט - Azure מומחה ענן של גוגל - GCP מומחה שרתי SCCM - System Center
של מיקרוסופט לארגונים גדולים
קורסי תכנות מסלול Full Stack דוט-נט
יסודות התכנות
מסלול Full Stack דוט-נט
צד שרת - Backend
מסלול Full Stack דוט-נט
צד לקוח - Frontend
מסלול Full Stack Node.JS קורסי תכנות נוספים
Java / Python / PHP
מפתח אפליקציות - אנדרואיד - אייפון מפתח משחקי מחשב - Unity מפתח תוכנות לוונדוס - WinForms מסלול DBA - דטה אנליסט
התמחות במסדי נתונים – SQL
בדיקות תוכנה - QA בדיקות תוכנה - QA - אוטומציה בדיקות תוכנה - QA - בדיקות ידניות בדיקות תוכנה - QA - קורסים נוספים המלצות תלמידים על PracticU
Bindings - NET TCP Binding

בשיעור זה מחליפים את ה-Binding של שירות המחשבון המאורח ב-ConsoleHost מ-BasicHttpBinding ל-NetTcpBinding, מעדכנים את כתובת ה-endpoint לפרוטוקול net.tcp, מריצים את המארח ויוצרים ב-WinFormConsumer פרוקסי חדש מה-WSDL כדי להריץ קריאת Add דרך ה-Binding החדש.

שלבי העבודה המוצגים בשיעור:

1. נקודת הפתיחה: נפתח הפתרון NET TCP Binding עם שלושה פרויקטים: CalculatorLibrary עם Calculator.cs, ConsoleHost עם Program.cs ו-WinFormConsumer עם CalculatorForm.cs. ב-Program.cs מצב הסיום של השיעור הקודם: הערת ABC = Address, Binding, Contract, הכתובת string address = "http://127.0.0.1:6065/MyCalculator", יצירת BasicHttpBinding, החוזה Type contract = typeof(ICalculator), ServiceHost מארח של Calculator, AddServiceEndpoint, ServiceMetadataBehavior עם HttpGetUrl ו-HttpGetEnabled לחשיפת WSDL, myHost.Open, לולקה foreach שמדפיסה את כתובות ה-endpoints ו-Console.ReadLine.
2. החלפת ה-Binding: שורת ה-Binding הוחלפה כך שבמקום BasicHttpBinding נוצר NetTcpBinding עם המשתנה netTcpBinding, והטולטיפ של IntelliSense על הבנאי הציג שמלבד הבנאי ללא פרמטרים קיימות עוד 3 יתרות עומס ושהמחלקה היא System.ServiceModel.NetTcpBinding. שם המשתנה עודכן גם בקריאה ל-AddServiceEndpoint.
3. עדכון הכתובת ל-net.tcp: בתוך מחרוזת הכתובת הוספה הקידומת net.tcp במקום http, כך שהכתובת הסופית היא address="net.tcp://127.0.0.1:6065/MyCalculator", כלומר אותו פורט ואותו שם מסלול אך פרוטוקול הטרנספורט השתנה.
4. הרצת המארח: הורץ ConsoleHost וחלון הקונסולה הציג את כתובת ה-endpoint על פרוטוקול net.tcp, תוצאת הלולקה שמדפיסה את הכתובות של ה-endpoints שנרשמו במארח.
5. הכנת הלקוח: ב-WinFormConsumer נפתח CalculatorForm.cs וגוף btnAdd_Click סומן כהערה: CalculatorClient service = new CalculatorClient(), המרות המספרים מ-txtNum1 ומ-txtNum2, double result = service.Add(num1, num2), MessageBox.Show(result.ToString()) ו-service.Close(), ואז בוצע Rebuild All שהצליח.
6. יצירת הפרוקסי: נפתח דיאלוג Add Service Reference, הודבקה כתובת ה-WSDL שנחשפת דרך http על אותו פורט, ולחיצה על Go מצאה שירות אחד בשם Calculator עם החוזה ICalculator ואת הפעולות Add, Avg, Div, Mul ו-Sub. ההפניה נוספה תחת References בשם CalculatorDemo.
7. ה-config שנוצר: נפתח app.config של WinFormConsumer ובו binding מסוג netTcpBinding בשם name="NetTcpBinding_ICalculator" עם הגדרות ברירת מחדל: timeouts, transactionFlow כבוי, transferMode Buffered, transactionProtocol OleTransactions, מגבלות מאגרים ו-quotas, reliableSession כבוי, ובלוק security במצב Transport עם clientCredentialType Windows והגנה EncryptAndSign. ה-endpoint בלקוח מגדיר את כתובת ה-net.tcp משלב 3 עם binding="netTcpBinding", bindingConfiguration="NetTcpBinding_ICalculator", contract="CalculatorDemo.ICalculator" ו-name="NetTcpBinding_ICalculator", ובתוכו אלמנט identity עם userPrincipalName המזהה את משתמש המחשב המארח.
8. שחזור קוד הלקוח: גוף btnAdd_Click שוחזר מההערות ללא שינוי, כאשר ה-CalculatorClient עכשיו מגיע מהפרוקסי החדש באמצעות using WinFormConsumer.CalculatorDemo, כלומר אותו קוד לקוח עובד מול ה-Binding החדש ללא התאמות.
9. הרצת הבדיקה: הורץ הטופס, הוזנו 11 במספר הראשון ו-33 בשני, ולחיצה על Add העלתה חלונית תוצאה מעל הטופס, אישור לכך שהקריאה עברה בהצלחה דרך NetTcpBinding.

בסיום השיעור השירות מאורח ב-ConsoleHost עם NetTcpBinding וכתובת net.tcp, המטאדטה עדיין נחשפת דרך http, הלקוח מתחבר באמצעות פרוקסי CalculatorDemo שנוצר מה-WSDL עם binding ו-bindingConfiguration משלו ב-app.config, וקריאת Add עוברת בהצלחה ללא שינוי קוד הלקוח. השיעור הבא עוסק ב-Multiple Bindings Host.
סקר שוק נכון לתאריך – 01/09/2011

הסבר קצר על שיטת הלימוד אונליין

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


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

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


מה לעשות אם לא מבינים משהו בסרט?

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


האם יש לכם כיתות לימוד רגילות?

להשכיר כיתה + לשלם משכורת למרצה = 17 אלף ש"ח עלות הקורס לתלמיד.
אצלנו בסרטונים מקבלים אותו חומר לימוד
ואפילו יותר, כי אין מגבלה של זמן למרצה (כמו שיש בכיתה),
בנוסף מקבלים בדיוק אותה תעודה בינלאומית,
כי מבחן הוא מבחן אחיד לכולם המתבצע במרכז בחינות מורשה
והכי חשוב שמקבלים את אותם המרצים, שמלמדים בכיתה רגילה,
רק שצילמנו אותם בסרטונים
והמחיר בסרטונים רק 350 ש"ח ולא 17 אלף כמו בכיתה רגילה.



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

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

בסיום קורס ניתן לקבל תעודות הבאות:
1. תעודה של המכללה - מותנה בהגשת פרוייקט גמר בסוף הקורס
2. תעודת הסמכה בינלאומית של מיקרוסופט העולמית - מותנה במעבר מוצלח של מבחן הסמכה חיצוני של מיקרוסופט (מבחן זה מתבצע כל שבוע במרכז בחינות מורשה בתל-אביב)


מידע כללי:
1. חומר הלימוד מורכב ממאגר עצום ומסודר מאוד של סרטים מקצועיים, הניתנים לצפיה מהבית. מאגר זה כולל הרצאות מוקלטות בעברית בצורה מסודרת ע"י המרצים הטובים ביותר. רשימת הסרטים המלאה נמצאת בתפריט בצד ימין.
2. כל סטודנט במכללה מקבל שם וסיסמה לצורך גישה לשרת הקבצים שלנו.
השרת מכיל את כל התוכנות הדרושות ללימוד וכן חומר עזר
3. הקורסים מועברים בהתאם לסילבוסים של החברות המובילות: Microsoft, Cisco

רקע כללי אודות WCF

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

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

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

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

על לימודי WCF

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

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

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