נשלח בתאריך: 07 June 2005 בשעה 15:35 | | IP רשוּם
|
|
|
|
טוב כמו שראיתם בנושא הקודם אני חיפשתי דרך לעשות את הדבר הזה ואכן מצאתי או יותר נכון בניתי משהו...[לאחר שלא מצאתי תשובה אפילו בגוגל המפורסם....]
OK בתור התחלה בוא נסביר את הדרך, הרעיון. הרעיון הוא מאוד פשוט, בתחילת הדף אנחנו לוקחים את הזמן הנוכחי ובסוף הדף את הזמן הנוכחי ומחסרים ביניהם, השאלה היא רק איך עושים את זה? אז הנה לכם:
טוב דבר ראשון ניצור שני משתנים, אחד שיחזיק את התאריך של תחילת הדף והשני את של סוף הדף:
OK עכשיו אנחנו צריכים להכניס במשתנה שמחזיק את הזמן הנוכחי בתחילת הדף את התאריך הנוכחי, כביכול יכולנו לעשות דבר כזה:
אבל, שימו לב שהפונקציה DATE מחזירה רק את התאריך הנוכחי, ואילו אנו צריכים גם את הזמן, לכן נשתמש בפונציה NOW:
OK לאחר השורה הזאת אמור לבוא הקוד של הדף, ולאחר מכן אנחנו צריכים לשמור את התאריך [והזמן] של אותו רקג [סוף טעינת הדף]:
קוד:
'ur code..... EndTime = now() |
|
|
טוב עכשיו הגיע החלק של החיסור, אנחנו צריכים למצוא את ההפרש בין שני המשתנים, לשם כך נעזר בפוקנציה מובנת בשם DateDiff, פונצקיה זו הינה פונקציה שנועדה לשם השוואת שני תאריכים והחזרת ההפרש ביניהם, התחביר שלה מאוד פשוט ואם אתם רוצים ללמוד אותה אז הנה לכם: http://msdn.microsoft.com/library/default.asp?url=/library/e n-us/script56/html/vsfctcstr.asp בכל מקרה:
קוד:
response.write "Page generate in " & DateDiff("s",StartTime,EndTime) & " Sec." |
|
|
OK, ולסיכום:
קוד:
<% Dim StartTime, EndTime
StartTime = now()
'CODE......
EndTime = now() response.write "Page generate in " & DateDiff("s",StartTime,EndTime) & " Sec." %> |
|
|
טוב מי שינסה את הסקריפט יראה שכמעט תמיד נקבל תשובה של 0 וזה בגלל שאנחנו מתייחסים לשניות וכל דף ASP ממוצע נטען בפחות משניה או שנים לכן סקריפט כזה לא יעזור לנו, כלומר אנחנו צריכים פונקצית זמן שתחזיר גם את המאיות של אותו זמן נתון, אך לצערנו אין פונקציה כזאת ב-ASP [בדוק!], אז מה עושים?
טוב למזלנו ב-JS יש פונקציה כזאת, היא לא בדיוק מחזירה את הזמן הנתון עם מאיות, אלא מחזירה את מספר המאיות מה-1 לינואר 1970 בחצות, אבל זה עדין טוב לנו מכיוון שמספר המאיות האלה בכל מקרה ישתנה בין שני זמנים שונים....ולכן נצטרך לשלב JS עם ASP, לא קשה כמו שזה נשמע, בתור התחלה ניצור פונקציה ב-JS ונגדיר אותה ככה שהיא תפעל על השרת ולא על הלקוח [יותר מדויק...]:
קוד:
<script language="javascript" runat="server"> <!-- function Time() { var dDate = new Date(); return dDate.getTime(); } --> </script> |
|
|
הקוד הוא די פשוט הפוקנציה מחזירה את מספר המאיות מהתאריך [לעיל] ועכשיו נכתוב את הקוד ב-ASP:
קוד:
<% Dim StartTime, EndTime
StartTime = Time()
'CODE......
EndTime = Time()
Response.Write "Page generate in " & (EndTime-StartTime)/100 & " Sec." %> |
|
|
זהו זה הסוף, אני רק יוסיף שאפשר לעשות את אותו הדבר עם ידי שני דברים:
1. רכיב חיצוני - יעלה לכם כסף, וגם בעייתי לפעמים להתקנה במיוחד עם השרת הוא לא שלכם
2. http://www.4guysfromrolla.com/webtech/122799-1.shtml - אני אישית לא אהבתי ולפעמים גם יוצר פלט לא רצוי, אבל מי שמעוניין :) [זה רק ב-ASP...]
__________________ ~ Nobody Is Perfect, I'm Nobody ~
פורומים
|