
הטקסט המלא של הדקות הראשונות בהרצאה «Configuration File» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.
אנחנו נכנסים לנושא של Configuration File. מה זה אומר? עד עכשיו אנחנו בנינו הוסט, הלכנו לקובץ ה-C-Sharp וכתבנו קוד C-Sharp בכדי להגדיר את כל ההגדרות.
וההגדרות שהגדרנו הן ההגדרות הבאות: אנחנו יצרנו מה שנקרא ABC, Address Binding Contract. ואז יצרנו הוסט, וטיפול Service Host, וצירפנו אליו את ה-Binding, או יותר נכון את ה-ABC בכללותה.
ולאחר מכן יצרנו איזושהי Behavior שהגדירה איפה נמצא קובץ ה-WSDL ושהקובץ הזה נמצא אכן באוויר ולא כבוי וצירפנו את ה-Behavior להוסט.
פתחנו אותו, הדפסנו כל מיני הדפסות על המסך בשביל לראות אם הוא מאזין, וכאשר סגרו את ההוסט, אז סגרנו את הקובץ.
את כל הדברים האלה אנחנו עשינו דרך קוד פישאר. עכשיו, מה החיסרון שקרה כאן? החיסרון שקרה כאן זה שיכול להיות שבמהלך חיי ההוסט אנחנו נרצה לשנות כל מיני דברים.
יכול להיות שאנחנו נרצה פתאום להוסיף איזושהי פרט קונפיגורציה לביינדינג, יכול להיות שנרצה לשנות את האדרס, יכול להיות שנרצה להוסיף אדרס, יכול להיות שפתאום נרצה להוסיף סקיוריטי.
כל שינוי כזה ידרוש מאיתנו ללכת לקוד, לשנות את הקוד, שזה לא ממש בעיה, אבל אז אנחנו נצטרך לבצע קומפילציה מחדש, לאתר את קובץ האקזה שנמצא בשרת, לסגור אותו, לפתוח אותו, בעצם לזרוק את הקובץ החדש לשרת ולהעלות אותו מחדש לאוויר.
אז בשביל למנוע את הצורך בלייצר עוד פעם קובץ אקסקיושן מההוסט ולהחליף את הקובץ המקורי, יותר נכון לעשות חלק מההגדרות האלה בקובץ קונפיגורציה.
ואז אם נרצה בעתיד לשנות, כל מה שאנחנו צריכים לעשות זה לפתוח את קובץ הקונפיגורציה, לשנות את ההגדרות, ובוא נניח לעשות איזשהו ריסטארט לסרוויף בשבילי, שהוא יטען את ההגדרות החדשות.
אבל זאת השיטה הנכונה להרים הוסט לאוויר. ומה שאנחנו הולכים לראות עכשיו זה איך לבצע את ההגדרות האלה של הגדרת ה-ABC והגדרת ה-Behavior בקובץ קונפיגוריישן בצד של השרת בפרויקט ההוסט במקום לעשות אותם בקוד C-sharp.
אוקיי, אז מה שנעשה זה פשוט נלך קודם כל ונגדיר את קובץ הקונפיגורציה בצד של ההוסט, נגדיר את כל ההגדרות שסך הכל מה שאנחנו הולכים להגדיר זה יצירת ABC עבור סרוויץ שאנחנו הולכים להרים והוספת Behavior.
זאת אומרת שbasically מה שאנחנו עשינו בקוד של ה-fisher, נגדיר את זה בקובץ הקונפיגואציה ולאחר מכן למחוק בקובץ ה-fisher את מה שכבר הגדרנו בקובץ הקונפיגואציה.
אז איך אנחנו עושים את זה? אז אנחנו הופכים לפרויקט ה-host, ומה שאנחנו מוסיפים זה קובץ חדש, נלך ונבחר Add New Item, והקובץ שאנחנו מוסיפים זה קובץ הגדרות קונפיגואציה רגיל שנקרא app-config.
ואנחנו רואים כאן שיש לנו Application Configuration File, נקרא app-config, נבצע אד, הוספנו את זה לפרויקט של ההוסט וכרגע יש לנו קובץ קונפיגורציה ערק לגמרי.
תגיד את השורש שלו ותגיד קונפיגוריישן. עכשיו אנחנו רוצים להוסיף לקובץ הזה כל ההגדרות שקשורות ל-WCF. לצורך כך הדבר הפשוט ביותר לעשות זה לגשת לאפ קונפיג, ללחוץ עליו מקש ימני ולבחור בתפריט את האפשרות לערוך את קובץ הקונפיגורציה על ידי אדיטור מיוחד של WCF
אבל לצערנו המערכת לא מראה לנו את האדיטור הזה. אבל אנחנו צריכים לגרום למערכת להכניס את האדיטור המיוחד הזה של WCF לתוך התפריט של לחיצת מכה שמניע על קובץ הקונפיגורציה.
לצורך כך עלינו לפתוח אותו פעם אחת מהתפריט העליון. אנחנו הולכים ל-Tools, ואנחנו רואים אותו פה, הוא נקרא WCF Service Configuration File.
אז אני בסך הכל הולך לתפריט העליון, וכל מה שאני רוצה לעשות זה פעם אחת להדליק אותו מהתפריט העליון.