DCSIMG
January 2011 - Posts - בלוג MSDN ישראל

אנחנו בפייסבוק

January 2011 - Posts

פורסם בתאריך 26/01/2011 11:17 על ידי Guy Burstein

כיום, מפתחים שבונים אתרים מבוססי ASP.NET וטכנולוגיות נוספות משתמשים בשני סוגים של Web Servers לצורך הפיתוח:

  • ASP.NET Development Server שמגיע כחלק מ- Visual Studio (לעיתים מכונה Cassini)
  • IIS Web Server שמגיע ביחד עם התקנת ה- Windows

IIS Express אקספרסהמפתחים המשתמשים ב- ASP.NET Development Server בתוך Visual Studio מאד נהנים מקלות השימוש בו ומהעובדה כי אינו צורך כמעט משאבי מערכת, הוא מאד פשוט להגדרות ולא דורש הרשאות של אדמין על המכונה כדי להפעיל אותו. מצד שני, הוא אינו מכיל את מגוון היכולות של IIS, אינו מאפשר להתקין מודולים נוספים שלרוב נעשה בהם שימוש בסביבת ה- Production.

המפתחים המשתמשים ב- IIS המגיע עם מערכת ההפעלה שלהם יכולים ליהנות משרת Web מלא, שניתן להרחבה בקלות עם מגוון מודולים שפותחו ע"י מיקרוסופט או הקהילה, ובכך לפתח על סביבה שזהה לסביבת ה- Production. מצד שני, הוא דורש הרשאות אדמין על המכונה, דבר שלא בכל חברה ניתן למפתחים. בנוסף, כיוון ש- IIS הוא חלק בלתי נפרד ממערכת ההפעלה, משתמשים ב- Windows XP יכולים להשתמש רק ב- IIS בגרסה ישנה מאד.

לשתי האפשרויות הנ"ל האלה יש יתרונות וחסרונות, אז מאז ומתמיד מפתחי ASP.NET אמרו שהיו מעדיפים את קלות השימוש ב- ASP.NET Development Server ביחד עם מגוון האפשרויות והיכולות של שרת ה- IIS.

הכירו את IIS Express

IIS Express היא גרסה רזה של IIS 7.x שמותאמת במיוחד עבור מפתחים:

  • שרת Web רזה וקל להורדה והתקנה (פחות מ- 5Mb להורדה ותהליך התקנה פשוט מאד)
  • ניתן להתקנה על Windows XP ומעלה
  • לא דורש הרשאות אדמין על המכונה
  • מאפשר התקנת מודולים של IIS כמו Url Rewrite Module.
  • תומך ב- SSL
  • ניתן להתקנה side-by-side עם ה- IIS המלא
  • ניתן להרצה דרך command line או ע"י השימוש מתוך Visual Studio 2010 ו- WebMatrix

בסה"כ הוא מאפשר לקבל את מלוא היכולות של IIS המלא עבור עמדת מפתח ביחד עם קלות התקנה.

אינטגרציה עם Visual Studio 2010

Service Pack 1 של Visual Studio שיצאה בבטא לאחרונה מוסיפה תמיכה ב- IIS Express, אך עם זאת, התקנת IIS Express היא נפרדת וניתן לעשות אותה מכאן (ע"י שימוש ב- Web Platform Installer).אחרי ההתקנה של IIS Express, מספר תכונות של ויז'ואל סטודיו יהפכו לפעילות.

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

IIS Express אקספרס

ניתן גם לעשות זאת דרך עמוד ה- Properties של הפרוייקט, בטאב ששמו Web.

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

IIS Express אקספרס

הגדרת SSL

Visual Studio 2010 מאפשר עכשיו לבצע מספר הגדרות חדשות שלא היו זמינות עד כה, ביניהן האפשרות להגדיר שימוש ב- SSL לצורך בניית אתרים מאובטחים.

IIS Express אקספרס

אם נשנה את ההגדרה SSL Enabled, נוכל לראות כי האתר יעבוד עכשיו מעל SSL.

IIS Express אקספרס

איך להפוך את IIS Express להיות ברירת המחדל עבור פרויקטים חדשים?

עבור פרוייקטים חדשים, ניתן לקבוע כי Visual Studio 2010 יעשה שימוש ב- IIS Express בתור ברירת מחדל ולא בשרת הפיתוח הפנימי של ויז'ואל סטודיו.

בתפריט האפשרויות בתוך Visual Studio יש לסמן את האפשרות Use IIS Express for new file-based web sites and projects.

IIS Express אקספרס

תהנו!

פורסם בתאריך 19/01/2011 12:16 על ידי Guy Burstein

NuGet מנהל חבילות תוספותאתם מפתחים אפליקציית Web כלשהי, ורוצים לשלב ספריות קוד צד שלישי כדי לקצר את התהליך – ספריית תשתית לגישה למסד הנתונים, תשתית Logging או ספרייה לשילוב Dependency Injection באפליקציה.

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

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

אז כאן NuGet נכנסת לתמונה.

מהי NuGet?

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

NuGet היא עוד פיתוח של מיקרוסופט כחלק מיוזמת הקוד הפתוח Outercurve Foundation, וכבר עם שחרורה זכתה להיות אחד מ- 10 הפרוייקטים המובילים בקוד פתוח שכדאי לשים אליהם לב ב- 2011 (מתוך דמרקר).

איך זה עובד?

NuGet מאפשרת למפתחים של פרוייקטי קוד פתוח כגון (Moq, NHibernate, Ninject, StructureMap, NUnit, Windsor, RhinoMocks, Elmah וכו') לארוז את הספריות שלהם ולרשום אותן לגלריה המרכזית (ככה בונים חבילות ל- NuGet)

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

דוגמא: הוספת חבילת ELMAH לפרוייקט ASP.NET

נניח שמפתחי פרוייקט Web כלשהו רוצים לשלב שימוש בספריית קוד פתוח פופולריות בשם ELMAH (ראשי תיבות של Error Logging Modules and Handlers for ASP.NET), כדי לאסוף לוג של שגיאות באפליקציה ולהציג אותן בצורה נוחה.

כדי להוסיף היום את ELMAH לפרוייקט, צריך לגשת לאתר של הפרוייקט, להוריד אותו כ- ZIP, לפרוש אותו, להוסיף אותו לאפליקציה בכמה מקומות (הוספת Reference, הוספת הגדרות בקובץ קונפיגורציה וכו'). אפשרי, אבל מסורבל.

כאשר NuGet מותקנת בתוך Visual Studio, נפתח את חלון הוספת חבילות צד שלישי לפרוייקט שלנו, ונחפש תשתית Logging.

NuGet מנהל חבילות תוספות

כשנבחר להוסיף את ELMAH, תשתית ה- NuGet תדע להוריד את החבילה, להוסיף אליה הפניה מהאפליקציה שלנו, ולהוסיף את ההגדרות הנדרשות לקובץ הקונפיגורציה.

NuGet מנהל חבילות תוספות

ותוך פחות מדקה, יש לנו תשתית Logging באפליקציה, שאוספת ומציגה את השגיאות שנאספו באפליקציית ה- Web שלנו.NuGet מנהל חבילות תוספות

סיכום

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

קישורים נוספים: