IHttpHandler

אבי דקל

New member
הסתכלתי בפורום שלך

ראיתי שרשורים בפורום, ע"ג aspx. מה הכוונה "זה לא מוצג על גבי WebForm" אך על מה זה מוצג ? על הראש שלך ?
 

אבי דקל

New member
SO ?

כנראה שבאפליקציה הזו אין צורך בהרבה צד שרת, אלא בעיקר פונקציונליות צד לקוח. לא הבנתי את הנקודה שאתה מנסה להעביר
 

Admini

New member
יש שם לא מעט צד שרת

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

nattygur

New member
צרפתי מאצרים אבל

גם אם תשתמש ב webforms בהגיון ובעיקר ב Cache תגיע גם למערכת מאוד מהירה. אני לא מסכים עם " ASP קלאסי עלול לתת תוצאה טובה יותר" ASP.NET מייצר Assemblies אשר מפעילים קוד מכונה בשביל לבצע את הדף לעומת ה Interpeter של ASP ולכן הם מהירים יותר. זה נכון ששימוש לא מושכל ב Viewstate וב PostBack יכול לגרום למערכות איטיות אבל שימוש לקוי ב ASP יכול גם להביא לתוצאות כאלו. דרך אגב רוב השימושים שאני מכיר ב IHttpHandler הם ליישום MVC (Design pattern) והחזרת Images ו Script לצד תחנה. http://www.devx.com/dotnet/Article/6962/0/page/2
 

SpecialNight

New member
תודה ו...

הוא התכוון שהמתכנתים כל שניה חוזרים לצד שרת עם כל ה web forms האלה.אני בכל אופן אנסה להמנע מהם כמה שיותר (עד כמה שאפשר). ובמקרים חריגים ראיתי פורומים ב asp קלאסית הרבה יותר מהירים מפורומים שנבנו מ aspx. ותסכים איתי שממש מעצבן כל הזבל הזה ששולח ל value ה web forms בכל פעם.פעם ראיתי פורום ב aspx שכשפתחתי תסורס ראיתי אולי עמוד שלם של תווים לא מובנים ב value,הוא שולח כמויות עצומות של מידע לא נחוץ (נחוץ לעצמו,אבל לא לגולש),פשוט דוחה.
 

nattygur

New member
מסכים לגבי הארועים וה View state

לא נראה לי שאם ניקח דפים בעלי אותה פונקציונאליות יהיה מצב שה ASP יעבוד יותר מהר, אבל אשמח לראות דוגמה.
 

Admini

New member
וחוץ מזה

אפשר (מנסיון) לבנות אתרים יעילים ומוצלחים בלי WebFrog ושות'. וכבר אמרו חכמינו "רבי מאיר רימון מצא, תוכו (=NET.) אכל קליפתו (=WebForms) זרק"
 

אבי דקל

New member
תודה נתי, שאלה קלילה :

התחלתי לקרוא את המאמר מהעבוד הראשון, ממידע נוסף שקראתי כאן בפורום הבנתי : כאשר מבקשתי מ IIS קובץ HTML, הוא פשוט מוצא ושולח אותו, כאשר מבקשים ממנו ASP, הוא משתמש ב asp.dll שמעב את הקובץ, ושולח את הפלט. בעבוד האשון של מאמר כתוב שבדוה ל asp, גם ל asp.net יש dll משלו שנקרא aspnet_isapi.dll אבל לפי מה הבנתי, כאשר IIS מקבל בקשה לסיומת aspx, הוא לא מטפל בה בעצמו, אלא מעלה פרוסס חדש שנקרא aspnet_wp.exe והוא מטפל בבקשה. אם כן, מה הקשר בין aspnet_isapi.dll לבין aspnet_wp.exe ?
 

nattygur

New member
ה aspnet_isapi.dll

מעלה את ה aspnet_wp (אם צריך) ובכל בקשה פונה אליו דרך Pipe של windows בכדי להעביר מידע. זה שונה ב IIS 6.0.
 

אבי דקל

New member
כלומר :

ה IIS מקבל פנייה ל aspx, הוא קורא ל aspnet_isapi.dll (בדומה לקריאה asp.dll כאשר הקובץ ה asp רגיל), וה aspnet_isapi.dll הוא זה שמעלה את הפרוס aspnet_wp.exe ? 1. האם נכון ? 2. מה הכוונה "אם צריך" ? יכול להיות שביקשו קובץ aspx, ולא צריך להעלות את aspnet_wp.exe שיטפל בו ? 3. האם כל ההבדל בין asp.dll ל aspnet_isapi.dll הוא שהראשון מעבד את הפקודות, ומחזיר את הפלט ל ISS שמחזיר ללקוח, בעוד השני פשוט קורא לפרוסס חדש ? 4. קראתי שכתבתי שב IIS 6 שרץ על Win Server 2003, יש קובץ SYS שמטפל בהכל ? מה הכוונה ? 5. תודה ענקית על זמנך
)
 

אבי דקל

New member
../images/Emo35.gif../images/Emo35.gif../images/Emo35.gif../images/Emo35.gif../images/Emo35.gif../images/Emo35.gif../images/Emo35.gif מישהו יודע ?

כולם רשאים לענות, לא רק נתי
 

yuval k

New member
1. נכון.

2. "אם צריך" == אם הוא לא עלה כבר... 3. זה בערך מקיף את ההבדל: asp.dll מבצע interpretation לדף ה-ASP שלך, וככה "מריץ" את הסקריפט שבתוכו. ב-ASP.net, יש handler שנקרא aspnet_isapi.dll, שמריץ את הדף כאפליקציה דוט-נטית דרך aspnet_wp.exe - מעביר אליו את הבקשות, הפרוסס הנ"ל מטפל בהן ומחזיר את ההטמל שיישלח ללקוח. זוהי, למעשה, המהות של handler
 

אבי דקל

New member
../images/Emo41.gif אכתוב מה שהספקתי להבין עד כה...

HttpHandler זו בעצם מתודולוגיה המאפשרת טיפול ייחודי לסיומות שונות של קבצים. אם תחליט שבאפליקציה שלך, Http Request לקובץ בעל סיומת sex משמעותה החזרת תמונה מעובדת ללקוח, אז הצדעים הנדרשים הם כאלה : 1. כתיבת מחלקה חדשה, אשר מממשת את הממשק IHttpHandler 2. מימש המתודה הרלוונטית בממש זה (ProcessRequest) - שבתוכה בעצם מתבצע העיבוד שאתה מעוניין בו. 3. קינפוג IIS ובו תקבע כי ביומת sex תריץ את ה DLL שיצרת בסעיף 1+2 4. קינפוג Web.Config בדומה. אלו קווים כללים שהצלחתי להבין, אני בטוח שנתי יוכל לתקן/להוסיף
 

אבי דקל

New member
ממתין לאישור של נתי ../images/Emo13.gif

רק בקווים כללים, בלי לצלול לעומק (לאחר שקראתי את המאמר).
 

nattygur

New member
הכל נכון פרט לסעיף 3

הרישום ב IIS הוא של הסיומת (extension) ל ISAFI filter של ה ASP.NET.
 

אבי דקל

New member
המממ... ../images/Emo26.gif

אולי לא ניסחתי זאת כפי שצריך, אבל התכוונתי לקינפוג IIS קח שידע כיצד לטפל בסיומת החדשה. טעיתי ? אגב, המושגים עצמם (באופן כללי) לא ממש ברורים לי... ISAPI Extention הכוונה היא לסיומת הקובץ, ו ISAPI Filter הכוונה היא ל DLL שמטפל הסיומת הזו ?
 

nattygur

New member
הי,

יש בפורום דיון (לפני יומיים אם אני לא טועה) עם הסברים לכל המושגים ועל התהליך. אם יש עוד שאלות תמיד אפשר לשאול. אני ממחר לא זמין למספר ימים (חופש באילת) אז אם אני לא עונה זה לא בכוונה.
 

אבי דקל

New member
הבלבול הגיע לאחר שקראתי אותו..../images/Emo13.gif

הוזכרו שם המושגים הללו, לכן אני לא בטוח שהבנתי נכון את המשמעות שלהם : הבנתי את התהליך מאחורי הקלעים, כעת נותר להבין רק את המושגים : זה מה שהבנתי, האם זה נכון ? ISAPI Extention הכוונה היא לסיומת הקובץ, ו ISAPI Filter הכוונה היא ל DLL שמטפל הסיומת הזו ?
 
למעלה