../images/Emo16.gif אוסף ענק : ../images/Emo132.gif../images/Emo70.gif../images/Emo70.gif../images/Emo16.gif
וסף גדול של שאלות שמטרידות אותי
האמת, אני כותב את זה בעיקר לעצמי
לעשות סדר בראש, לאחר שקראתי הרבה חומר בנושא, ואשמח אם תאשררו את דברי, אם תתקנו אותי
.אין בהכרח קשר בין הסעיפים
תודה מראש לכל מי שמוכן לקרוא ולענות ככל שמתחשק לו
1. כאשר אני יוצר Class Library, אני בעצם יוצר DLL, קופסא סגורה, שבה ניתן להשתמש בכל פרוייקט אחר, ע"י כל שמצרפים אותו (Add Reference) לפרוייקט החדש. בתוך ה Class Library אני יכול לייצר מספר מחלקות (Classes), אשר כולם יישבו תחת אותו Namespace. ה Namespace הזה יהיה גם שם ה DLL שבו אנשים אחרים יוכלו להשתמש. ע"מ להשתמש ב DLL שיצרתי בפרוייקט אחר, עלי לצרף אותו ע"י Add Reference, ומה שקורא בפועל הוא שה DLL מועתק לתיקייה ה BIN בפרוייקט שלי. מדוייק ? 2. מה ההבדל בין הרשימה שיש לי תחת ה References, לבין כל ה Using שיש לי בקוד ה cs ? האם זה לא צריך להיות זהה ? למשל, כאשר הוספתי DLL חדש ע"י Add Reference, לא התוסף לי עוד Using בקוד... 3. אם יש לי DLL המכיל אובייקטים שאני רוצה לשתף למספר רב של אפליקציות, אני יכול לרשום אותו ב GAC, ובכך תמיד יהיה ניתן לפנות אליו ולהשתמש בשירותיו, מה שזה חוסך לי בעצם גם את ביצוע ה Add Reference, כלומר את ההעתקה של קובץ ה DLL לתיקיה שלי, לא יפנו אליו לתיקיית ה GAC. אמת ? 4. האם בעיף 3 אין בעיה כאשר עושים Deploy לפרוייקט ? מכיוון שאם זה DLL חדש שאני יצרתי/הורדתי, במחשב היעד לאו דווקא יהיה אותו ב GAC... ולחילופין, אני מניח שבעת ה DEPLOY לא מועתק כל ה GAC שלי, למחשב האחר.. כיצד הוא יודע מה להעתיק ומה לא ? 5. מדוע יש צורך לכתוב את שלושת השורות הבאות, ולא מספיקה הראשונה בלבד, הרי היא כוללת את מי שמתחתיה :
using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.HtmlControls;
האם הצורך לציין נתיב ספציפי הוא ע"מ לחסוך במקום בדיסק ובזכרון (בשניהם ?) ? כדי שלא יטענו גם כל תתי המחלקות שאין בהם צורך ? אם כן, מה בדיוק נטען כשציינו using System.Web.UI ? הוא הרי לא עומד בפני עצמו, אלא המשמעות היא למי שמתחתיו, כגון System.Web.UI.HtmlControls 6. מהם הפרמטרים של Page_Load(object sender, System.EventArgs e) ? האם e הוא רשימת הארגומנטים המועברים לדף, כאשר מריצים אותו ? אם כן, מי מעביר ? (דפים אחרים ?), ומי יכול להיות משתנה ה sender ? 7. מדוע כל הקוד שלי, בקובץה cs, מופיע תחת הגדרת namespace ? להבנתי, אני יוצר namespace כאשר אני רוצה ליצור משהו שיתופי, כמו DLL תשתיתי למשל אבל כאן אני כותב קוד שיתבצע בצד השרת, ולא משו שיתופי.. האם גם קוד ה cs מתקמפל ל DLL בסופו של דבר ? אם כן, מדוע ? 8. האם זה יהיה מדוייק לומר, שה Net Framework. הוא בעצם אוסף ענק, המסודר בצורה הררכית, של מחלקות כתובות שניתן להשתמש בהם, ע"מ לזרז את תהליך הפיתוח (אין צורך לכתוב אותם מחדש, אלא משתמשים במשהו מוכן ובדוק) ? 9. האם הסיבה שבגינה אני מתקין על המחשב שלי את ה Net Framework. היא אחת משתיים : *. אני מפתח, ואני רוצה להשתמש במחלקות המוכנות הללו *. או שאני סתם לקוח טיפש, אבל צריך להריץ תוכנה/דף באינטרנט, המשתמש בקוד שלהם, במחלקות הללו. (אם גם זו אופציה, אבל כאשר עושים DEPLOY לפרוייקט, יחד איתו מועתקים גם ה DLL שהוא זקוק להם, אז מדוע צריך להיות מותקן עוד משהו על המחשב של הלקוח הטיפש ?) 10. בהתקנת Visual Studio .Net & MSDN מותקנים עוד כלים פרט ל IDE, עם אילו כלים עקריים אתם עובדים, ומה מטרתם ? (להשכלה כללית
) 11. האם זה יהיה נכון לתאר את דוט נט כטכנולוגיה הטומנת מחובה מספר מרכיבים : * Net Framework. - אוסף עצום של מחלקות מוכנות לשימוש * יכולת לפתח אפליקציות חלונאיות * יכולת לפתח אפליקציות ל WEB, בשימוש בטכנולוגיית ASP.NET, אשר ניתן לכתוב בה בכל שפה דוט נטית שהיא. * היכולת לחשוף פונקציונליות מערכתיות לעולד החיצון וקישוריות בין מערכות מבוזרות, ע"י שימוש ב Web Services * כלי העבודה העשיר ביותר - VS.NET האם השמטתי משהו ? 12. האם כדאי לשדרג את IIS 5.1 ל 6, במחשב הבייתי ? 13. מה זה ASP.NET 2.0 ? גירסא של מה זה בדיוק ? של ה Net Framework. של השפות (#C למשל) ? 14. אני נוהג לייצר תיקיה אחרת (ספרייה וירטואלית ב IIS), שלא בתוך wwroot ושם לאחסן ולפתח את האפליקציות שלי, מטעמי אבטחה - האם יש הגיון בכך ? 15. מה נחשב "קוד ASP.NET" ? האם הקוד שאני כותב ב #C בקובץ ה cs, או תגי ה asp:button שאני כותב בקובץ ה aspx ? 16. האם נכון לומר שקובץ ה aspx הוא קבץ html לכל דבר, פרט לטאגים המתחילים ב :asp ? 17. האם בכל לחיצה על Ctrl + F5 - Start Without Debugging, הפרוייקט נבנה כולו, נשמר בדיסק, ומורץ ? מתוך ההודעות שיוצאות, אני משער שזה אכן כך, האם באמת ? (*כל הפרוייקט נבנה* + השינויים בכל הקבצם נשמרים בדיסק + מורץ) 18. מה זה הקבץ resx הנוצר עבור כל קובץ aspx שלי ? אני רואה שזה קובץ XML, אבל לאיזו מטרה ? (שמירת ריסורסים ? של מה ?) 19. האם גם כאן מטרת הקבצים global.asa הוא לכתוב קוד שיקרה כשר האפליקציה רצה/מסתיימת עבור כל משתמש ? 20. ההבדל בין Application ל Session הוא שהראשון קורה פעם אחת, בפעם האשונה שמישהו פונה לאפליקציה, והשני קורה כל פעם, עבור לכ משתמש חדש ? 21. סיומת csproj - אני רואה שזהו קובץ XML, האם הוא מחזיק נתונים עבור הפרוייקט הספציפי שלי, רק אותם ? 22. סיומת sln - פתרון זהו אוסף של פרוייקטים, שיש בינהם קשר, האם קובץ זה מחזיק את המידע עבור כל פרוייקט שנמצא בפתרון ? (האם זה קישור לקבצי ה csproj השונים ? (זה מה שהבנתי כשהתבוננתי בקובץ..) 23. מה זה קובץ ה pdb שנוצר בתיקיית ה BIN ? 24. מדוע בתוך תיקיית ה BIN, נוצר לי DLL עם שם הפרויקט ? מה תפקידו בכוח ? ************** זהו בינתיים !!!!
המון המון תודה לכל מי שמוכן היה לקרוא, ואולי גם לענות, כשמתחשק
שוב תודה ושבוע טוב ושקט לכולנו.