DCSIMG
עמוד הבית| חבילות השירות שלנו| חומר חופשי| צור קשר
שאלת מחץ מס' 2 - בלוג היועצים של מיקרוסופט ישראל

בלוג היועצים של מיקרוסופט ישראל

שאלת מחץ מס' 2

בהמשך לפוסט קודם שלי שעסק בשאלה קבועה שאני שואל בראיונות קבלה, הינה שאלה נוספת שגיליתי, להפתעתי, שרבים נכשלים בה.

השאלה אמנם אינה קשורה במהותה לארכיטקטורה, אולם היא קשורה לנושא שכל מי שמתכנן מערכת Web חייב, לדעתי, לשלוט בו, והוא ה- Viewstate.

הררי נייר, דיו ו-bytes כבר נכתבו על נושא זה, ועדיין אני מגלה מועמדים רבים שלא מכירים את הבסיס של אופן הפעולה של ה- Viewstate. בעיות ביצועים ואבטחה רבות יכולות להימנע תוך שימוש נכון ב- Viewstate, וישנם לא מעט טכנולוגים שטוענים בלהט שמודל העבודה של ASP.NET פגום מיסודו בגלל ה- Viewstate, כאשר אין להם למעשה מושג בסיסי לגבי אופן הפעולה שלו.

השאלה, אם כך, היא זו:

"נתון WebForm המכיל שדה טקסט (TextBox) וכפתור Submit. אם יוגדר EnableViewState=False לדף, מה יקרה כאשר יוקלד טקסט לשדה הטקסט והכפתור ילחץ? האם, כאשר הדף יטען מחדש, יופיע בשדה הטקסט שהוקלד או שהוא יהיה ריק?"

אשמח לשמוע את תשובותיכם, ואת הסיבה שהדברים קורים כפי שהם קורים. זו אינה שאלת טריוויה מתחכמת העוסקת ב- Bits & Bytes של הטכנולוגיה. זהו הבסיס של ה- Viewstate. לטעמי, מי שלא ידע להסביר מה יקרה ומדוע זה קורה - סביר להניח שתכנון ומימוש ה- Viewstate שלו יהיה פגום.

תוכן התגובה

Pini Dayan כתב/ה:

Hi there,

The text on the asp:TextBox will stay on this postback , since TextBox does not use ViewState to persist state, it uses IPostBackDataHandler.

If the question was about asp:Label...Thats a diffrent story.

# October 22, 2008 7:15 AM

שי יעקובי כתב/ה:

השאלה טובה כשאלה אבל מודל הוויוסטייט הוא פשוט  גרוע, הוא מייצר

HTML

מיותר וחויית המשתמש שבפוסטבקים היא נוראית.

להזכירך

jQuery

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

שי יעקובי

לחשוב עכשיו על טופס שעושה פוסטבק ומה קורה עם או בלי ויוסטייט זה כמו לשאול על איך לכוון אנטנה בטלויזיה שחור לבן.

# October 22, 2008 12:11 PM

אוהד אסטון כתב/ה:

הטקסט ישאר.

אם להיות מדוייקים, ה

ViewState

שומר כל מה שהשתנה בזמן ריצה, ואינו עובר ב

Request.Form

כמו לדוגמה, הצבע של הטקסט בוקס הערכים שיש בקומבובוקס וכיו"ב

והאמת שהאנשים רבים (מדי) לא מבינים את אופן פעולתו או בכלל למה הוא משמש.

# October 23, 2008 5:58 AM

Moshe L כתב/ה:

ViewState מעביר המון המון חומר שב-90% מהמקרים הוא פשוט מיותר, ומבזבז משאבי שרת ורשת יקרים.

אני כן חושב שיש מקומות בהם הוא יעיל, אבל לא נתקלתי בהרבה כאלה.

# October 23, 2008 2:24 PM
שלח תגובה

(שדה חובה)  

(שדה חובה)  

(אופציונלי)

(שדה חובה) 

Please add 4 and 5 and type the answer here:


Enter the numbers above: