ASP.NET

שמאל|250px|לוגו ASP.NET
**ASP.NET** היא טכנולוגית קוד פתוח ליישומי אינטרנט בצד השרת, שפותחה על ידי חברת מיקרוסופט. טכנולוגיה זו אינה שדרוג לטכנולוגיית ASP המתיישנת שלה אלא תפיסה טכנולוגית חדשה, וכתשובה לטכנולוגיית JSP של חברת סאן מיקרוסיסטמס. באמצעות ASP.NET ניתן ליצור אתרי אינטרנט דינמיים בשילוב נתונים מבסיסי נתונים, ולטפל בטפסים ובמידע שנשלחים מהמשתמשים. התפקיד של ASP.NET הוא לנתח את המידע וליצור פלט בהתאם.

ASP.NET משלבת בנוסף טכנולוגיית MVC, שמאפשרת לפתח אפליקציות רשת במהירות ובקלות .

ASP.NET מבוססת על ה-NET Framework. של מיקרוסופט הכוללת מחלקות רבות לטיפול בנתונים שונים (מסדי נתונים, קובצי טקסט, קובצי XML, תמונות וקבצים גרפיים, מערכת ההפעלה ועוד). ניתן לכתוב דפי ASP.NET בכל שפה בסביבת NET. (הנפוצות: VB.NET ו-#C).

ASP.NET רצה על שני סוגי שרתים:
* IIS - שרת האינטרנט של מיקרוסופט.
* Cassini ותוכנות אחרות שנכתבו בשפות ה-NET. אלו תוכנות שונות הכוללות שרת מובנה.
בסביבת ה-NET Framework. ישנו מרחב שמות (Namespace) בשם System.Net.Hosting המאפשר כתיבת שרתים כאלה. הנפוץ שבהם - גרסת ההמשך של ה-Cassini המגיעה עם Visual Studio 2005 לגרסאותיו.

ASP.NET מבוססת על טופסי צד שרת (Web Forms), אולם ניתן בהחלט להשתמש בה גם בלעדיהם.

## גרסאות והפצה של ASP.NET
בשנת 2002 הוכרזה והופצה טכנולוגיית NET Framework. על ידי חברת מיקרוסופט, בגרסתה הראשונה (גרסה 1.0). NET Framework. הכילה מספר שפות פיתוח חדשות, וטכנולוגיית פיתוח עבור דפי אינטרנט שנקראת ASP.NET. יחד עם NET, החלה מיקרוסופט בשיווק סביבת הפיתוח הייעודית, שנקראה Visual Studio.NET, או בשמה הפחות נפוץ, VS 7.

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

במהלך השליש האחרון של שנת 2005 הוכרזה על ידי מיקרוסופט הגרסה השנייה ל-NET Framework. (גרסה 2.0), ויחד עימה הופץ מנוע NET. משודרג, חבילת טכנולוגיות חדשה, וגם סביבת פיתוח חדשה בשם Visual Studio 2005 (או בשם הגרסה שלה, VS 8). הגרסה החדשה הוסיפה מחלקות קוד חדשות רבות, והציגה גם שיפורי תוכנה ושיפורי אבטחה רבים. גרסה זאת אינה מהווה שדרוג לגרסה הקודמת, אלא היא גרסת תוכנה עצמאית, וניתן להתקין אותה מבלי להתקין גרסאות קודמות. יחד עם זאת, מרבית המפתחים העדיפו להתקין את שתי הגרסאות במקביל, כדי לקבל גמישות גדולה יותר.

במהלך נובמבר-דצמבר 2006, החלו ניצנים ראשונים של גרסה משודרגת חדשה. בתחילה נקראה הגרסה בשם הקוד "Orcas", ולימים, במהלך 2007 ועם יציאתה של Windows Vista לשווקים, הוכרזה גרסת השדרוג המלאה ל-NET., שפותחה כחלק מפיתוח Windows Vista. הגרסה החדשה (3.0), פותחה כתוספת לגרסת NET 2.0., ואינה מחליפה אותה. היא אינה גרסה עצמאית, ולא ניתן להתקין אותה ללא גרסה 2.0.

בסוף נובמבר 2007, עם יציאתה לשוק של ערכת כלי הפיתוח החדשה לבית מיקרוסופט, Visual Studio 2008, יצאה הרחבת תוכנה נוספת (גרסה 3.5). באפריל 2010 יצאה גרסה חדשה של Visual Studio 2010 ויש בה הרבה שיפורים בעיקר בכתיבת Java script.

## סיומות קבצים בשימוש ASP.NET
* aspx - (Active Server Page Extended) סיומת דפי האינטרנט הסטנדרטיים, וכן דפי אינטרנט המיועדים לטלפונים סלולריים.
* vb - קוד חיצוני בשפת VB (בדרך כלל pagename.aspx.vb אם הקוד משויך לדף ספציפי).
* cs - קוד חיצוני בשפת #C (בדרך כלל pagename.aspx.cs אם הקוד משויך לדף ספציפי) עבור טכנולוגיית Web Forms או מבנה נתונים (Model) או Controller עבור MVC.
* ascx - פקדי משתמש (פקדים האורזים תצוגה וקוד עבור התצוגה, ומשתלבים כפקד ארוז בדף aspx).
* asmx - שירותי WebService.
* ashx - קובץ מטפל אירועים (יוצר אירוע הכולל קוד ומידע תצוגה, לפי קריאה). בדרך כלל מכונה global.ashx ונמצא בתיקיית הבסיס של האתר.
* resx - קובץ משאבים (בעיקר משמש לתרגומים לאתר, לדוגמה appculture.en.resx עבור כל שפה, ומזוהה בצורה אוטומטית על ידי הקוד)
* xsd - קובץ נתונים (שולף נתונים על פי בקשה ממסד הנתונים).
* skin - קובץ השומר תצורת תצוגה וגרפיקה עבור קובצי aspx.
* config - קובץ הגדרות תצורה וריצה השולט על שרת IIS, על הקישור למסדי הנתונים ועל הגדרות אבטחה רבות.
* master - תבנית תצוגה רב פעמית, המתלבשת סביב דף aspx.
* sitemap - קובץ XML מיוחד, המיועד למיפוי סרגלי כלים וניווט עבור האתר.
* asax - קובץ המטפל בהגדרות אפליקציה וסשן - באתחול וסיום שלהם.
*cshtml - גרסה מתקדמת של דפי aspx, נמצאת בשימוש נרחב ב־MVC כ־View, ובה נוצר מבנה הדף, שמשלב שפת תגיות ו־C# באמצעות הסמן ‘@‘.
*vbhtml - זהה לחלוטין ל־cshtml, רק בשפת Visual Basic.net כקוד.

## תיקיות בשימוש ASP.NET 2 ואילך
* App_Code - עבור מחלקות ומשתנים הנמצאים בשימוש בכל האתר ולא בדף בודד
* App_Data - עבור נתונים
* App_Browsers - עבור התאמה אישית לדפדפנים שונים
* App_WebReferences - עבור שימוש ב-WebServiceים
* App_GlobalResources - עבור שימוש בקובצי משאבים
* Theme - עבור שמירת מספר אופציות של תבניות עיצוב
* Bin - תיקייה עבור קובצי dll, ובייחוד עבור קובצי dll המכילים אובייקטים ואוטומציות מהודרות של asp.net

ספריות אלו לרוב מוגנות מהורדה על ידי משתמש קצה, ללא תלות בסוג הקובץ.

קבצים אחרים נמצאים בשימוש סביבות הפיתוח ומוגנים ברמת השרת על מנת למנוע הורדה שלהם על ידי לקוחות (למשל vbproj, csproj).

## תיקיות בשימוש ASP.NET MVC
*Models - מציין את התיקייה שבה נשמרים כל מבני הנתונים של האתר.
*Controllers - תיקייה קבועה שבה נמצאים כל ה־Controllers של האתר, ששולטים בתגובת השרת.
*Views - תיקייה שלרוב כוללת תיקיות משנה עם שם הבקר (Controller) שבה מאוחסנים כל דפי ה־cshtml הרלוונטיים לו, ובנוסף תיקייה בשם Shared שבה מאוחסנים דפי cshtml שמשמשים באופן גלובלי.

## ASP.NET AJAX
בתאריך 23 בינואר 2007, מיקרוסופט הוציאה לאור גרסה 1.0 של ASP.NET AJAX, אשר מהווה חבילת הרחבה עם פונקציונליות Ajax.

## קישורים חיצוניים
* 
* ASP.NET, האתר הרשמי של הטכנולוגיה
* MSDN >.NET Framework האתר הרשמי של סביבת NET.

## הערות שוליים

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