טכנולוגיית ASP זמינה בתאימות מלאה רק על שרתי IIS של מיקרוסופט. למרות זאת, קיימות חלופות עבור שרתים אחרים. טכנולוגיית ASP עבור שרת IIS ממומשת כרכיב ISAPI אשר מנתח את הדפים, ומספק את האובייקטים של ASP (ראו להלן) למנועי הסקריפטינג.
בגרסה 3.0 של ASP נוסף אובייקט חדש, ASPError, המספק מידע על השגיאה האחרונה שהתרחשה. האובייקט לא קיים באופן אוטומטי כמו השישה לעיל, אלא יש ליצור אותו על ידי השיטה Server.GetLastError כשרוצים לקבל את המידע על השגיאה (ראו להלן).
גרסאות
ל-ASP ה"קלאסית", כלומר לאASP.NET היו 3 גרסות עיקריות:
ASP 1.0 - הופצה יחד עם IIS 3.0 בדצמבר 1996
ASP 2.0 - הופצה יחד עם IIS 4.0 בספטמבר 1997
ASP 3.0 - הופצה יחד עם IIS 5.0 בנובמבר 2000 גרסה זו הייתה הגרסה האחרונה של ASP ה"קלאסית", והיו בה מספר תוספות שיפורים ניכרים לעומת הגרסות הקודמות. ביניהם:
לאובייקט Session נוספו השיטות Session.Contents.Remove ו-Session.Contents.RemoveAll שאפשרו למחוק ערכים שהוכנסו לאובייקט ה-Session. עד גרסה זו היה זה בלתי-אפשרי, והם היו נמחקים רק כשה-session היה נסגר (כשהגולש היה עוזב את האתר בצורה מסודרת, או לאחר 20 דקות של חוסר פעילות).
לאובייקט Application נוספו השיטות Application.Contents.Remove ו-Application.Contents.RemoveAll שאפשרו למחוק ערכים שהוכנסו לאובייקט ה-Application. עד גרסה זו היה זה בלתי-אפשרי, והם היו נמחקים רק כשההיישום היה מסתיים - כשהגולש האחרון היה עוזב את היישום.
השיטה Response.IsClientConnected שאומרת האם הגולש עדיין מחובר לאתר שופרה ופעלה תמיד. עד גרסה 3.0 השיטה פעלה כראוי רק לאחר שנשלח מידע אל המשתמש.
תוספות לאובייקט Server:
השיטה Transfer של אובייקט Server מעבירה את השליטה לדף ASP אחר (מעין goto). לדף שמקבל את השליטה יש גישה לכל המשתנים שהוכרזו בדף שהעביר את הגישה. כמו כן, אם הדף שאליו מועברת השליטה נמצא ביישום ASP אחר מהדף הקורא, הדף שאליו מועברת השליטה מתבצע במסגרת יישום ה-ASP הקורא. כלומר, מכל בחינה שהיא, הדף שאליו מועברת השליטה מתבצע כעין המשך של הדף הקורא. שיטה זו יכולה גם לשמש כחלופה לשיטה Response.Redirect, ששולחת ללקוח את כותר HTTP "302 Object Moved". Transfer אינה דורשת מהלקוח לבצע בקשת HTTP נוספת, ובכך חוסכת עומס מהשרת.
השיטה Execute של אובייקט Server מעבירה את השליטה לדף ASP אחר, אך בניגוד ל-Server.Transfer, מחזירה את השליטה לדף הקורא, בסיום ביצוע הדף שנקרא (מעין קריאה לפונקציה).
השיטה GetLastError של אובייקט Server מאפשרת קבלת אובייקט ASPError, שמכיל מידע על השגיאה האחרונה שהתרחשה.
אובייקט ASPError אובייקט זה מכיל מידע על השגיאה האחרונה שהתרחשה במסגרת דף ה-ASP. הוא נוח במיוחד לשימוש ביצירת דפי שגיאת 500-100 מותאמים אישית, שנקראים על ידי השרת. דף שגיאה כזה, שמשתמש באובייקט ASPError יוכל להציג מידע על שגיאה שהתרחשה ברמת שרת IIS, ברמת מנוע התסריט או ברמת רכיב COM שנקרא בקוד. דף כזה ייקרא גם במקרה של שגיאת סקריפט בלתי מטופלת, לדוגמה. בדרך כלל יש ליצור את האובייקט על ידי דרישה בשיטה Server.GetLastError, אבל במקרה של דף שגיאת 500-100 מותאם אישית הוא נוצר לבד. בנוסף, ניתן לטפל באמצעות אובייקט זה בשגיאות שהתרחשו בכתיבה למסדי נתונים, ולקבוע, למשל, שהסקריפט ימשיך לרוץ למרות השגיאה וכדומה.
תחת Windows Me ASP לא נתמכה רשמית (מאחר שהתקנת IIS או PWS עליה לא נתמכה), אך באתר מיקרוסופט נכתב שניתן להתקין עליה את Personal Web Server, אם כי הדבר אינו מומלץ[1]. גם תחת Windows XP Home Edition לא נתמכה ASP, מאחר שגם על מערכת זו לא נתמכה IIS[2].
חלופות ל-ASP
מלבד המתחרות הישירות ב-ASP, שהן PHP, JSP, ו-ColdFusion קיימות מספר גרסות אלטרנטיביות של ASP. כלומר, מערכות תסריטי צד-שרת נפרדות, אך דומות ל-ASP:
Java System Active Server Pages 4.0 Sun - גרסה של חברת סאן מיקרוסיסטמס לטכנולוגיית ASP, התומכת ברבות מהטכנולוגיות שמתכנתי ASP מורגלים אליהן כמו ADO ו-ODBC וכמו כן בשפות VBScript ו-JScript. עם זאת, אין לגרסה זו תאימות מלאה עם טכנולוגיית ASP המקורית של מיקרוסופט. היא פועלת על מספר מערכות הפעלה, הכולל את מספר גרסות של יוניקס (סולאריס, HP-UX ועוד) ועל גרסות השרת של Windows, ועל שני שרתי דפי אינטרנט: Sun Java System Web Server של סאן עצמה, ועל שרת אפאצ'י.
Active-FoxPro-Pages - זוהי טכנולוגיה הדומה ל-ASP המאפשרת כתיבת קוד Visual FoxPro בשפת xBASE משולב בתגי HTML, והרצתו על שרת דפי אינטרנט. נתמכת רק על מערכות Windows (כמו Visual FoxPro עצמו), ועל מספר שרתי דפי אינטרנט: שרת IIS של מיקרוסופט, שרת אפאצ'י מגרסה 2.0 ומעלה, ועוד.
לקריאה נוספת
ניקולס צ'ייס, ערכת לימוד ASP 3.0, הוצאת פוקוס מחשבים
ג'ים בוינס, פיתוח מסדי נתונים לאינטרנט, הוצאת פוקוס מחשבים