
הטקסט המלא של הדקות הראשונות בהרצאה «אירוח service על שרת IIS» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.
הדבר הבא שאנחנו הולכים לראות בעולם ההוסטינג זה איך אנחנו הולכים להעלות את ה-WCF סרוויס שלנו ל-IIS, כך שזה יהיה בעצם IIS הוסט.
ו-IIS, היתרון שלה זה שהיא כל הזמן רצה באוויר, ולכן גם כאן השירות שלנו תמיד חשוף כל פעם שהמחשב פעיל. אז דבר ראשון, אנחנו לא צריכים את הפרויקט הקודם שבנינו של הכלכלת ה-Windows סרוויס, אז בואו נציג את הפרויקט הזה ב-Solution Explorer בכדי שנוכל למחוק אותו.
שנייה לפני שנמחוק אותו, בואו נסיר אותו מהסולושן. מקש ימני רימוב, אוקיי. וכעת אנחנו יכולים לגשת ופיזית למחוק אותו מהפרויקט שלנו.
קלקולטור win service delete. וכעת יש לנו סך הכל שני פרויקטים, יש לנו את ה-DLL של ה-WCF סרוויס, של הקלקולטור, וצרכן שאנחנו עוד מעט נלך ונבנה אותו.
היית אני רוצה להוסיף לתיקיית הסולושן פרויקט של איי איי אס הוסט. אז אני הולך לקובץ הסולושן Add New Website ובוחר ב-WCF Service.
מה שאני בוחר כרגע זה שהפרויקט ירוץ בפייל סיסטם. זה אומר שהוא לא באמת רץ על איי איי אס אלא רץ אצלי במחשב ומה שהווישל סטודיו הולכת לפתוח זה מעין משהו שנקרא Developer Server שמדמה כאילו שהפרויקט שלי רץ על איי איי אס, לא באמת חשוף לעולם ב-IOS.
וזה הדבר הנכון לעשות אם אני בזמן הפיתוח. אחרי שסיימתי לפתח את הסרוויס, או את ההוסט יותר נכון, אז אני הולך ומתקין אותו ב-IOS אמיתית. עוד אופציה שיש לנו לדוגמה זה HTTP. אם הייתי בוחר את זה אז הוא אכן היה אוטומטית נוצר ב-IOS האמיתית וזה לא דבר רצוי כי אני לא רוצה שבמהלך
הפיתוח הפרויקט שלי ישב ב-IOS ויהיה חשוף לכל העולם. הדבר הבא שאני מוודא זה שהפרויקט שלי אכן נפתח בסלושן, בתיקיית הסלושן וכרגע אני רואה שהוא לא נפתח לי בתיקייה של הסלושן אז נלך לבראוז ונכריח אותו להיפתח בתיקיית הסלושן.
נלך ל-My Documents ונאתר כאן בדיוק איפה שמרנו את הפרויקט שלנו. אז נלך לתיקייה של WCF, הוסטינג, IS-HOST והנה תיקיית הסלושן.
הדבר הבא שאני רוצה לעשות זה להגדיר בתוך תיקיית הסלושן שהיא בעצם התיקייה של הפרויקט שלנו. אוקיי, נלחץ על Add Folder, אחר כך נמחק את התיקייה Website שנוצרה לנו, וניתן כאן שם של התיקייה של ה-IS Host שלנו.
אז בואו נבחר בשם Calc Service, מבצע Open, ו-OK. כעת נוצר לי הפרויקט בסלושן, ונראה בדיוק מה אנחנו צריכים לשנות. אז אני רואה שיש לי פה קובץ שנקרא service.svc, svc זה קיצור של סרוויס.
וזה קובץ שאחר כך הלקוח צריך להתחבר אליו לקובץ service.svc בכדי להוריד את מסמך ה-wsdl שדיברנו עליו לפני זה. עכשיו אני רואה דבר נוסף, יש לי פה תיקייה שנקראת app-code ויש לי כאן גם דמו לגבי ה-contract שלנו וגם דמו לגבי המחלקה.
זאת המחלקה שנמצאת כאן, היא יקראת Service והקונט רק נקרא iService. עכשיו, אנחנו לא רוצים להשתמש כרגע בשתי המחלקות, יותר נכון באינטרפייס הזה ובמחלקה הזאת לצורך השירות WCF שלנו, מפני שנכון לבנות את השירות שלנו על ידי DLL נפרד, לא נכון לשלב אותו בתוך פרויקטים אחרים.
ולכן מה שאנחנו צריכים לעשות זה קודם כל להיפטר מהאינטרפייס iService, אני עושה לו Delete, והדבר הבא שאני רוצה לעשות זה לשנות את השמות של המחלקה הזאת.
בואו נשנה את השם של Service ל-CalculatorService. נשנה גם את השם של המחלקה ל-CalculatorService. לפני זה אולי כדאי להעיף את זה, ואחר כך נראה איך אנחנו יורשים את הממשק האמיתי שלנו ולהיפטר מכל מה שנמצא בתוך המחלקה.
נגדיר את השם שלה כ-CalculatorService, ועכשיו חשוב מאוד ללחוץ Control נקודה ו-Rename, מפני שכאשר אנחנו משנים את השם, אנחנו חייבים שהמערכת תשנה אותו גם בכל מקום שהוא כתוב בתוך ה-Web Config.
וכאשר עשינו Control נקודה ו-Rename, הוא עשה את זה אוטומטית. הדבר הבא שאנחנו עושים, אנחנו הולכים לקובץ Service.svc וגם אותו משנים לאותו השם.
לא נכון שיהיה לי סרוויס שנקרא סתם סרוויס, לא אומר שום דבר לאף אחד. אז אנחנו שומרים פה על אחידות, והשם של השירות שנחשף שלנו נקרא CalculatorService, אנחנו רואים את זה גם כאן, גם כאן וגם בשם של קובץ ה-CF.
הדבר הבא שאנחנו עושים, אנחנו נכנסים לתוך ה-SVC ומוודאים שמה שכתוב כאן מפנה באמת לתיקיות שלנו. אנחנו רואים סרוויס, נשנה אותו ל-CalculatorService ונשנה את השם של ה-C-Sharp גם ל-CalculatorService.
עכשיו אנחנו צריכים להשתמש בשירות שלנו. אז בואו נלך ל-CalcService ונצרף אותו על ידי AddReference. נצרף את ה-WCF סרוויס שלנו והוא נמצא בקלקולטור ליברירי.
נבצע אוקיי ונירש את הממשק האמיתי שלנו שנקרא iCalculator. אוקיי, עכשיו נממש את הפונקציות בתוך ה-IIS סרוויס אבל אנחנו לא רוצים לבנות אותן בעצמנו כי הן כבר כתובות בתוך ה-DLL ולכן מה שנכון לעשות זה פשוט להגדיר אינסטאנס מהסרוויף של ה-WCF.
נגדיר פה private Calculator Calc וכל מה שאנחנו צריכים לעשות זה בפונקציות פשוט לקרוא לשירות wcf האמיתי. return talk בעצם רציתי לקרוא לזה talk.ad כי אני בפונקציית ad נשלח לה את num1 נשלח לה את num2 ונבצע את אותו הדבר בכל הפונקציות האחרות.
יש לנו פה את subtract יש לנו כאן את multiply יש לנו כאן את division ויש לנו כאן את average. וכעת סיימנו בעצם לבנות את ה-Service שלנו, יותר נכון את ה-IIS Service.