| (או יותר נכון: הפוך אותם לדפי HTML בעזרת ASPTear...)
בואו נודה: HTML מהיר יותר מ-ASP. נכון,אנחנו שומעים הבטחות שדפי ASP+ מהודרים ירוצו מהר יותר מדפי ASP רגילים, אך האם הם יהיו מהירים יותר מדפי HTML?
רוב כותבי ה-ASP משתמשים בשפה זו בכדי ליצור גישה לבסיס הנתונים ולהציג נתונים מתוכו. מכיוון שכל גישה לבסיס הנתונים מאריכה באופן משמעותי את זמן טעינת האתר עלינו לשאול את עצמנו מהי תדירות השינויים בבסיס הנתונים שלנו לעומת כניסות לשם הצגתו בלבד. דוגמא טובה למקרה כזה היא לוח הודעות באתר, כאשר כל מבקר עשירי בדף מוסיף הודעה. במצב כזה דף ה-ASP יקרא את ההודעות מבסיס הנתונים תשע פעמים למרות שלא בוצע בו שום שינוי! במקרה כזה היה עדיף שהמבקר יגש לדף HTML במקום לדף ASP, ושדף ASP יעדכן את דף ה-HTML במקרה של שינוי בבסיס הנתונים. במאמר זה אראה לכם דרך כיצד להפוך חלק מדפי ה-ASP שלכם לדפי HTML בעזרת הרכיב (ASPTear (Component.
דבר ראשון נראה כיצד לקבל תוכן דף מסויים בעזרת ASPTear, ואח"כ נכתוב את התוכן
לדף HTML בעזרת הרכיב FileSystemObject.
חלק א: ASPTear
* הרכיב ניתן להורדה חינם מ-
http://www.asp.org.il/iisdev/components/asptear ששם אפשר למצוא גם הוראות כיצד לרשום אותו בשרת שלך ואיך להשתמש בו.
הוראות הכנה:
Set ObjAspTear = Server.CreateObject("SOFTWING.ASPTear")
strRetVal = ObjAspTear.Retrieve(StrUrl,nRequestType,strQueryString|strPostData,_
_strUsername,strPassword)
רכיב זה פשוט מאוד ותומך רק בשיטה אחת-Retrieva.
| משמעות | פרמטר |
| קוד ה-HTML מוחזר אלינו בצורת מחרוזת | strRetVal |
| כתובת ה-URL המלאה של הדף שאותו נרצה לקבל | strUrl |
| GET-2 POST-1 | NRequestType |
| פרמטרים שנרצה לשלוח לדף | strQueryString|strPostData |
| התחברות לאתר מאובטח - משתמש וסיסמא | strUsername/strPassword |
שימוש פשוט ברכיב עשוי להראות כך:
strRetVal = ObjAspTear.Retrieve("http://www.asp.org.il/index.asp",2,"","","")
שימוש מורכב יותר עשוי להראות כך:
strPostData = "name="& Server.URLEncode("Mookie D") & "&goto="
strPostData = strPostData & Server.URLEncode("http://www.asp.org.il/")
strRetVal = ObjAspTear.Retrieve("http://www.asp.org.il/",1,strPostData,"Evagoras","Charalambous")
חלק ב:
בחלק זה נקרא את פלט דף ASP לתוך קובץ HTML נעשה זאת בעזרת פונקציה שניצור,
שתקבל את פרמטר GETURL - דף ה-ASP שממנו נקבל פלט, ופרמטר POSTFILE - קובץ ה-HTML שיקבל את הפלט.
Sub CreateHTMLPage(getURL,postFile)
Dim getPage = "http://www.yoursite.co.il/" & getURL
Dim postPage
postPage = "C:Inetpubwwwrootmysite" & postFile
"ASPTear" משתנים לרכיב
Const Request_POST = 1
Const Request_GET = 2
"ASPTear" הפעלת הרכיב
Dim TearObj
Set TearObj = CreateObject("SOFTWING.ASPTear")
Response.ContentType = "text/html"
לתוך מחרוזת ASP- לקבלת פלט דף ה
Dim strRetrieveval
strRetrieval = TearObj.Retrieve(getPage, Request_GET, "", "", "")
במקרה של טעות בקבלת הדף הוצא את השגיאה
If Err.Number <> 0 Then
Response.Write ""
If Err.Number >= 400
Response.Write "Server returned error: " & Err.Number & " - " & Err.Description
Else
Response.Write "Component/WinInet error: " & Err.Description
End If
Response.Write ""
Response.End
End If
ASP-כעת ניצור קובץ טקסט ונכתוב לתוכו את תוצאת דף ה
set FSO = Server.CreateObject("scripting.FileSystemObject")
set myFile = FSO.CreateTextFile(postPage, true)
myFile.WriteLine(strRetrieveVal)
myFile.Close
set myFile = nothing
set FSO = nothing
Set TearObj = Nothing
End sub
|