בוקר טוב - שאלה

pixel1

New member
בוקר טוב - שאלה

הי לכולם, אני לא יודע אם זה המקום המתאים אבל אני אנסה, אני מתחיל לפתח מערכת די גדולה ב asp.net 1.1. המערכת מורכבת ממספר מסכים שהמשתמש עובר ביניהם הרבה פעמים, הולך מאחד לשני וחוזר אל מסכים שכבר ביקר בהם. התהליך מסתיים כאשר הנתונים נכנסים ל DB רק במסך האחרון. כיוון שיש הרבה postbacks במערכת וכיוון שפס הרוחב שלנו הוא קטן ואנו נדרשים לבצע הרבה מאוד פעולות גם ב client side , שאלתי היא: כיצד עלי לשמור את המידע ב server וכיצד לשמור אותו גם ב client. תניחו כרגע שאני צריך לשמור רק חלק מהמידע כרגע ב client. האם מומלץ לשמור הכל ב dataset ב server, האם להגדיר אובייקטים משלי. והכי חשוב: כיצד לעדכן את ה client במידע מידע המעודכן.
 

עידו פ

New member
אני יוצא מנקודת הנחה ששאלת את

השאלה בפורום דוט נט ושכאן אתה שואל בשביל לקבל מושג לגבי שיטות ולא לגבי שמות קלאסים ומתודות. במצב בו יש תחלופה של מסכים במערכת WEB, מומלץ לשמור את המידע שצריך להיות זמין למסכים ב-Cache אשר יהיה זמין למשתמש. במערכות מבוססות דוט נט, מנגנון ה-cache הזמין והפשוט הוא מגנון ה-session. למנגנון זה יש את הבעיה הקטנה שהוא לא נשמר לעד, אלא עלול להסגר מעצמו ברגע שהמשתמש לא מבצע פעולה מול שרת ה-Web במשך מספר דקות. במקרים כאלו לרוב מפתחים מנגנונים אשר מעבירים את המידע שנשמר ב-cache מה-session לדיסק/DB וברגע שה-session נפתח מחדש, הוא נטען מהדיסק/DB. דרך אגב, בדוט נט 2 פתרו זאת ע"י הוספת מנגנון ה-profile. לגבי dataset - קודם כל זה תלוי מה אתה צריך לשמור. ה-dataset מיועד יותר למבנה טבלאי הררכי ולאו דווקא מתאים לשמירה של פרטי רשומה אחת (בשביל זה עדיף נניח להשתמש ב-struct). אם אתה בכל אופן בוחר להשתמש ב-dataset, הקפד לשמור אותו בצורה יעילה ב-cache מאחר ואם לדוגמה תשמור אותו כ-XML, הוא יתפוס לך המון נפח (בדוט נט 2 לדוגמה, ניתן לעשות ל-dataset סריאליזציה לבינארי ובכך לחסוך המון מקום)
 
למעלה