PracticU

Configuration File

בלי כתוביותעם כתוביות
PracticU › קורס WCF - תקשורת למתקדמים בדוט-נט › Configuration File
מילון מושגים:
C# - שפת תכנות מונחית עצמים של מיקרוסופט, המשמשת בעיקר לפיתוח יישומים על פלטפורמת .NET.
Visual Studio - סביבת פיתוח משולבת (IDE) של מיקרוסופט לכתיבה, ניפוי והרצה של קוד, בעיקר בשפות .NET.
DLL - קובץ ספרייה ב-Windows המכיל קוד ופונקציות שתוכנות שונות יכולות לטעון ולהשתמש בהן במשותף.
TCP/IP - אוסף הפרוטוקולים שעליו בנוי האינטרנט, המגדיר כיצד נתונים נארזים, מנותבים ומועברים בין מכשירים.
TCP - פרוטוקול תקשורת אמין שמוודא שכל חבילות המידע מגיעות ליעד בשלמות ובסדר הנכון.
HTTP - פרוטוקול להעברת דפי אינטרנט ונתונים בין דפדפן לשרת. הגרסה המאובטחת שלו היא HTTPS.
קומפיילר - תוכנה שממירה קוד מקור שנכתב בשפת תכנות לקוד שהמחשב יכול להריץ, ומדווחת על שגיאות תחביר.
Endpoint - נקודת קצה שאליה פונים ב-API, המזוהה בכתובת ומטפלת בסוג מסוים של בקשות. גם מכשיר קצה ברשת.

Configuration File
השיעור מעביר את הגדרות ה-ABC וה-Behavior של ההוסט מקוד C# לקובץ App.config, באמצעות WCF Service Configuration Editor.
למה לעבור לקובץ
שינוי בקוד דורש קומפילציה מחדש, החלפת קובץ ה-EXE בשרת והפעלה מחדש. שינוי בקובץ קונפיגורציה דורש רק הפעלה מחדש של השירות, ולכן זו הדרך הנכונה להרים הוסט.
הכנת הכלי
1. מוסיפים לפרויקט ההוסט Application Configuration File בשם App.config.
2. בתפריט Tools פותחים את WCF Service Configuration Editor פעם אחת וסוגרים אותו. כך Visual Studio מציג את האפשרות Edit WCF Configuration בתפריט הלחיצה הימנית על הקובץ.
3. לפני ההגדרה בונים את ה-DLL של השירות, כדי שהכלי ימצא אותו.
הגדרת השירות בכלי
1. Services: יוצרים שירות חדש, ובוחרים את ה-DLL ואת המחלקה.
2. Contract: בוחרים את הקונטרקט.
3. Communication Mode: בוחרים בין TCP/IP, HTTP, Named Pipe, MSMQ ו-Peer-to-Peer.
4. Address: מגדירים את הכתובת, בפורט שונה מזה של מסמך ה-WSDL.
5. Behavior: ב-Advanced, תחת Service Behavior, יוצרים התנהגות חדשה ומוסיפים לה Service Metadata עם HttpGetEnabled = True וכתובת ה-WSDL.
6. שמירה: השמירה כותבת את ההגדרות ל-App.config. אם הקובץ השתנה בזמן שהכלי פתוח, המערכת שואלת אם להחיל את השינויים, ויש לאשר.
הכלי לא בודק את תקינות הערכים, למשל אם פורט כבר תפוס או אם הכתובת לא נכונה. הקומפיילר בודק רק את קוד C#.
אחרי ההעברה
1. מוחקים מהקוד את הוספת ה-Endpoint, את ה-Behavior ואת ההגדרות של הכתובת, הביינדינג והקונטרקט.
2. משאירים את יצירת אובייקט ההוסט ואת Open ו-Close.
3. ההוסט עולה ומאזין לפי ההגדרות בקובץ.
4. בלקוח מבצעים Update Service Reference, וההגדרות מתעדכנות ב-App.config של הלקוח.
הקוד נשאר קצר, וההגדרות נמצאות בקובץ שאפשר לשנות בלי לקמפל מחדש.
השיעור הבא בקורס: Configuration File - Multiple Bindings

פרקי ההרצאה: Configuration File

  1. 00:00

    הגדרת ABC ו-Behavior בקוד C#

  2. 01:30

    למה להעביר הגדרות לקובץ קונפיגורציה

  3. 02:25

    הוספת App.config לפרויקט ההוסט

  4. 03:37

    הפעלת עורך WCF Configuration Editor

תמלול ההרצאה: Configuration File

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

  1. 00:20

    אנחנו נכנסים לנושא של Configuration File. מה זה אומר? עד עכשיו אנחנו בנינו הוסט, הלכנו לקובץ ה-C-Sharp וכתבנו קוד C-Sharp בכדי להגדיר את כל ההגדרות.

  2. 00:34

    וההגדרות שהגדרנו הן ההגדרות הבאות: אנחנו יצרנו מה שנקרא ABC, Address Binding Contract. ואז יצרנו הוסט, וטיפול Service Host, וצירפנו אליו את ה-Binding, או יותר נכון את ה-ABC בכללותה.

  3. 00:50

    ולאחר מכן יצרנו איזושהי Behavior שהגדירה איפה נמצא קובץ ה-WSDL ושהקובץ הזה נמצא אכן באוויר ולא כבוי וצירפנו את ה-Behavior להוסט.

  4. 01:02

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

  5. 01:12

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

  6. 01:25

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

  7. 01:36

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

  8. 01:57

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

  9. 02:09

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

  10. 02:20

    אבל זאת השיטה הנכונה להרים הוסט לאוויר. ומה שאנחנו הולכים לראות עכשיו זה איך לבצע את ההגדרות האלה של הגדרת ה-ABC והגדרת ה-Behavior בקובץ קונפיגוריישן בצד של השרת בפרויקט ההוסט במקום לעשות אותם בקוד C-sharp.

  11. 02:38

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

  12. 02:56

    זאת אומרת שbasically מה שאנחנו עשינו בקוד של ה-fisher, נגדיר את זה בקובץ הקונפיגואציה ולאחר מכן למחוק בקובץ ה-fisher את מה שכבר הגדרנו בקובץ הקונפיגואציה.

  13. 03:06

    אז איך אנחנו עושים את זה? אז אנחנו הופכים לפרויקט ה-host, ומה שאנחנו מוסיפים זה קובץ חדש, נלך ונבחר Add New Item, והקובץ שאנחנו מוסיפים זה קובץ הגדרות קונפיגואציה רגיל שנקרא app-config.

  14. 03:22

    ואנחנו רואים כאן שיש לנו Application Configuration File, נקרא app-config, נבצע אד, הוספנו את זה לפרויקט של ההוסט וכרגע יש לנו קובץ קונפיגורציה ערק לגמרי.

  15. 03:34

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

  16. 03:58

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

  17. 04:11

    לצורך כך עלינו לפתוח אותו פעם אחת מהתפריט העליון. אנחנו הולכים ל-Tools, ואנחנו רואים אותו פה, הוא נקרא WCF Service Configuration File.

  18. 04:21

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

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

ההרצאה הקודמת: Binding Configuration

ההרצאה הבאה: Configuration File - Multiple Bindings

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

  • Importing File
  • Create File
  • The Manifest File
  • HOST INVENTORY FILE

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

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