RegisterClientScriptBlock - מעניין:

דונג

New member
איזה קונטרול ?../images/Emo24.gif../images/Emo28.gif

IE Tree View ? אם כן, יש תחליף ?
 

gilad g

New member
כן.

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

yuval k

New member
ACT ו-RPS...

ACT זה ה-Application Centre Test, תוכנה מיקרוסופטית שנועדה לבדוק את עמידותן של אפליקציות web בתנאי לחץ. היא מדמה מצב של עומס, ע"י שליחת בקשות HTTP מרובות - וכך היא בודקת את העמידות של השרת והאפליקציה. RPS זה Requests Per Second - מספר הבקשות שנשלחו כל שנייה (לא כולל בקשות שנשלחו שוב מכל סיבה שהיא)
נראית תוכנה נהדרת דווקא
 

nattygur

New member
ורצוי מאוד להשתמש בה בכל שלב של

כתיבת הקוד... מונע הרבה בעיות שהתוכנית גמורה.
 

דונג

New member
../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 עם שם הפרויקט ? מה תפקידו בכוח ? ************** זהו בינתיים !!!!
המון המון תודה לכל מי שמוכן היה לקרוא, ואולי גם לענות, כשמתחשק
שוב תודה ושבוע טוב ושקט לכולנו.
 

gilad g

New member
../images/Emo2.gif תגיד, אתה נורמלי?

סתם
ננסה לענות (על כמה שאלות עניתי, וכמה לא
): 1. כן. 2. לא בהכרח. Namespace != DLL, ב-DLL (או אסמבלי) יכול להיות יותר מ-namespace אחד. 3. לא. אתה יכול לשים אותו ב-GAC, כדי להיפטר מהעניין של לשים אותו בתיקיה של כל ה-EXE-ים שלך. אבל אתה חייב לשים Reference. בעצם, Reference אומר "ה-EXE הזה משתמש בDLL הזה והזה". כשה-EXE מקומפל, הוא "זוכר" את הגדרות ה-Reference שעשית ב-Visual Studio. (הסוויצ' הוא r/ אם אנחנו מקמפלים ידנית). לעומת זאת, כשאנחנו באים להריץ את אותו EXE, הוא צריך לחפש מחדש את ה-DLL הזה. אם הוא מוצא אותו באותו ספרייה מה טוב - אם לא, הוא מחפש ב-GAC (לא בטוח בֵסדר, אבל זה הרעיון
) 4. לכן, כשאתה בא להתקין את התוכנה שלך, עליך לדאוג שה-DLL יהיה ב-Cache. 5. כי ככה זה, Namespaces עומדים בפני עצמם
7. לא הבנתי. 8. זה חלק מהתפקיד של ה-framework. הפריימוורק זה לא רק ה-Class Library (אוסף המחלקות שדיברת עליו), אלא גם ה-CLR, CLS וכל הטררם
9. * אם אתה מפתח, חובה שעל המחשב שלך תהיה מותקנת הפריימוורק (גירסת ה-SDK). * אם אתה "לקוח טיפש", אז כדי להריץ EXE-ים שנכתבו בדוט נט, אתה חייב שיהיה לך ה-Framework מגירסת Redistributable (התקנה של 20 ומשהו מגה). אבל כדי לגלוש באתרי אינטרנט שנבנו ב-ASP.NET, כל מה שאתה צריך זה דפדפן אינטרנט (וזה בגלל שהקוד שכתבת רץ על שרת ה-web, ולא על המחשב של הגולש
). 11. כן, השמטת את ה-Garbage Collector, ואת העובדה שאפשר להריץ תוכנה שנכתבה בדוט נט, בכל מערכת הפעלה. 12. אני לא רואה סיבה למה לעשות את זה, אלא אם יש איזה פיצ'ר שאתה צריך ב-IIS6 שלא קיים ב-IIS5.1
13. Whidbey היא הגרסה הבאה של דוט נט. זה כולל את 2.0 #C, את ASP.NET מגרסה 2.0, את Visual Studio החדש, ועוד. אני לא ממש הבנאדם לשאול - נתי חזר היום מה-PDC, אני מניח שלו יש מה לומר בנושא
14. כן, במיוחד מומלץ לשים את הקבצים של מסד הנתונים (אם אנחנו משתמשים באקסס), בספריה אחרת מאשר wwwroot. 15. אמממ.. גם וגם. ASP.NET היא שם כולל לטכנולוגיית ה-web של דוט נט. כל המחלקות לטיפול ב-ASP.NET, והרצת "פונקציות" שלה, נמצאים תחת System.Web (ותתי ה-NameSpaces). 16. מבחינת סינטקס, כן. מבחינת דברים אחרים - לא. קובץ ASPX עובר קימפול ועיבוד אצל השרת. קובץ ASPX שומר על ViewState, ועוד. 17. כן. 19. כן. וב-ASP.NET נוספו אירועים חדשים, דוגמת Application_OnError. 20. כן. 21. כן. הוא מכיל את רשימת הקבצים של הפרויקט שלך, כמו גם הוראות כיצד לקמפל אותו. 22. ה-DLL הוא תוצאת הקימפול של קבצי ה-code behind שלך. המחשב שלך לא יכול להריץ קוד #C ישירות - הוא חייב לקמפל אותו
מקווה שזה עזר, והבהיר כמה נושאים
 

דונג

New member
../images/Emo70.gif../images/Emo70.gif../images/Emo70.gif../images/Emo70.gif וואו ! ../images/Emo70.gif../images/Emo70.gif../images/Emo70.gif../images/Emo70.gif../images/Emo70.gif

תודה על התגובות המפורטות
ולא, אני לא ממש נורמלי, זה לפחות מה שהאישה עם החלוק הלבן טוענת, אך אני מתמיד עם הכדורים האדומים, הם מרגיעים אותי
1. אז כיצד ניצן להכיל כמה Namespaces באותו DLL ? השם של ה DLL הוא שם ה Namespace שאני קובע, אז אם יש יותר מאחד, מה יהיה שם ה DLL ? (אולי אפשר לקבוע אותו במפורש ?) 2. כלומר, כאשר אני כותב Using, אני מוסיף שימוש ב Namespace אחד, וכאשר אני עושה Add Reference, אני מוסיף DLL, שיכול להכיל כמה Namespaces ? ובנוסף, כאשר אני עושה Add Reference, ה DLL מועתק לתיקיית ה BIN שלי, מדוע כאשר אני עושה Using, כלום לא מועתק ? 3. כלומר, המטרה של לשים DLL ב GAC היא שזה פוטר אותי מלדאוג הקבצים יהיו בתיקיה של הפרוייקט שלי ? 4. 5. מה המטרה ? האם הצורך לציין נתיב ספציפי הוא ע"מ לחסוך במקום בדיסק ובזכרון (בשניהם ?) ? כדי שלא יטענו גם כל תתי המחלקות שאין בהם צורך ? אם כן, מה בדיוק נטען כשציינו using System.Web.UI ? הוא הרי לא עומד בפני עצמו, אלא המשמעות היא למי שמתחתיו, כגון System.Web.UI.HtmlControls 7. נניח ויש לי דף aspx אחד, וקוד שרת עבור אותו דף aspx.cs. בהתחלה של הדף יש הגדרה של namespace, וכל הקוד (למשל של button_Click) כתוב תחת אותו namesace. מה הקשר כאן של namespace ? (אני יוצר Namespace כאשר אני רוצה ליצור DLL (למשל), במיוחד כשזה DLL שישתמשו בו גם בפרוייקטים אחרים) מדוע קוד צד השרת שלי, נכתב בתוך namespace ? מקובץ ה aspx.cs נוצר בסוף DLL ?? 9. לקוח טיפש המריץ EXE הכוונה למשל שמישהו שמריץ אפליקציה חלונאית מקומית שנכתבה בדוט נט ? 12. אבטחה ? 16. קובץ ה aspx עובד קימפול ? מדוע ? מה בדיוק קורה שם ? 24. (כתבת בטעות 22
, מה בדיוק מתקמפל לתוך ה DLL הזה ? רק ה Code Behind שלי, או גם ה aspx ? ובנוסף, לאחר שיש לי את ה DLL, איך בכלל הוא מריץ אותו ? הרי DLL זו קופסא, לא משהו שרץ בכוחות עצמו...
המון המון תודה על הנכונות לסייע !!! תודה !
 

gilad g

New member
המממ

1. אתה יכול להכיל מספר נייסמפייסים, כך:
namespace ns1 { //classes, classes. } namespace ns2 { //classes, classes. }​
מומלץ, לעומת זאת, לשים מחלקות שונות בקבצים שונים (קל וחומר Namespaces שונים בקבצים שונים). ב-Visual Studio, השם של ה-DLL הוא השם של הפרויקט שלך. 2. כי using זה רק קיצור. קח לדוגמא מצב כזה:
System.Text.StringBuilder sb = new System.Text.StringBuilder();​
הקוד הזה הוא חוקי לחלוטין, גם אם לא עשינו using ל-System.Text. אבל כדי לקצר ענינים הוסיפו את using:
using System.Text; StringBuilder sb = new StringBuilder();​
עכשיו, כדי שהתוכנה שלך תוכל להשתמש במחלקה Stringbuilder, היא חייבת לעשות Reference ל-DLL שבו נמצאת המחלקה הנ"ל. במקרה שלנו, זה System.dll, אם אני לא טועה (VS.NET מוסיף לך כמה References אוטומטית). 3. כן. זה מעיין "ספרייה" של קבצים משותפים. 5. שום דבר לא נטען, כמו שאמרתי, זה סתם קיצור. 7. ככה זה. הכל נכתב בתוך Namespaces. ניימספייסים הם חלוקה לוגית בלבד, שנמצאת ברמה אחרת מהחלוקה ל-DLL-ים. כך, לדוגמא, Namespace אחד יכול להיות "פרוש" על פני כמה DLL-ים. ולא, אתה לא יוצר namespace כשאתה רוצה DLL. 9. כן. 12. אם זה כל כך חשוב לך, בבקשה
לי אין ניסיון עם IIS6... 16. כן, הוא עובר קימפול. כשאתה מריץ את הקובץ ASPX, ויש בו שגיאה, יש אפשרות לראות את הקוד שממש עובר לקומפיילר. בעצם ה-ASP.NET Runtime לוקח את הקובץ ASPX שלך על שלל פקדיו, והופך אותו למחלקה ב-#C, שלאחר מכן הוא מקמפל אותה. 24. רק ה-codebehind. ה-ASPX עצמו מתקמפל ל-DLL זמני. "ובנוסף, לאחר שיש לי את ה DLL, איך בכלל הוא מריץ אותו ?" ה-ASP.NET Runtime הוא זה שמריץ את המתודות שיש לך בתוך ה-DLL. בדיוק כשם שיש EXE שקורא ל-DLL אחר -- כך הפרוסס aspnet_wp.exe מריץ את ה-DLL שלך.
 

דונג

New member
../images/Emo47.gif../images/Emo68.gif../images/Emo168.gif../images/Emo77.gif מממ...../images/Emo70.gif

אהבתי את הקטע של האייקונים
2. כעת הבנתי משהו חשוב, בזכותך
Using הוא רק קיצור, שעוזר לי לכתוב פחות קוד (אני לא צריך לכתוב את כל ההררכיה עד לאובייקט מסויים) יפה
אם אני עושה Using ל X, מדוע ךעיתים צריך לעשות גם ל X.Y ? עצם זה שעשיתי ל X, מאפשר לי לגשת ישירות ל Y, ולגשת ל Z ע"י Y.Z, לא ? 7. אז אם יש לי פרוייקטים עם aspx אחד, ו aspx.cs אחד, כשאני מקמפל ובונה את הפרוייקט, מה בסוף נוצר ? מהם הקבצים שנוצרים, והם, ורק הם, מהווים את התוצר של הפרוייקט, שהוא יורץ בעתיד, שמישהו יריץ את הפרוייקט ?
 

gilad g

New member
הממ

2. כי ככה זה. יבוא של Namespace אחד לא מייבא את תתי-הניימפייסים שלו. וזה גם די הגיוני... 7. נוצר לך DLL (אסמבלי) בספריית ה-bin שהוא תוצאה של קימפול של כל קבצי ה-CS (ובכלל זה גם קבצי ה-aspx.cs). לאחר מכן, כשאתה מריץ את הפרויקט asp.net שלך, קבצי ה-aspx (ורק הם) מתקמפלים לאסמבלי זמני (שנמצא בספרייה ששמה Temporary ASP.NET Files). האסמבלי הזמני הזה הוא מה שרץ בסופו של דבר. התוצר של הפרויקט הוא קבצי ה-DLL שנמצאים בספריית ה-bin, וקבצי ה-aspx (שעוד לא עברו קימפול).
 

דונג

New member
כלומר...

7. אם אני רוצה להעתיק ת הפרוייקט למחשב אחר (רק שיעבוד שם, בלי להמשיך לפתח), אני צריך להעתיק את ה DLL שהוא כל קוד צד השרת המקומפל + קבצי ASPX ? (המינימום ע"מ שיוכל לרוץ...) 2. Sorry, אבל לא הבנתי את ההגיון
אם יש לי ניימספייס בשם X, ויש לו תת ניימספייס בשם Y ועשיתי רק Using X אז המשמעות היא שאני אוכל לפנות בצורה מקוצרת רק לאובייקטים הכלולים בניימספייס X, ואם ארצה לפנות בצורה מקוצרת גם לאובייקטים שב Y, אצטרך לעשות Using X.Y אם הבנתי נכון
, אני מחפש את ההגיון, כלומר, זה רק קיצורים, שום דבר לא נטען לזכרון או משהו כזה, מדוע הקמצנות ?
 

gilad g

New member
../images/Emo26.gif

7. כן (יש פה הד?
) 2. אם לדוגמא, יש לך בשני הניימספייסים שני אובייקטים באותו שם - ואז יהיה לך קונפליקט.
 

amiramdil

New member
using

האמת פשוטה.. using אכן הוא קיצור ואינו חיוני עקרונית. אם תגדיר using X אז תוכל לכתוב Y.METHOD במקום X.Y.METHOD אבל עדיין תצטרך את ה-Y כדי להגיד שאתה מתכוון לבנים של Y. יש לכך משמעות גדולה מבחינת נקיון הקוד, פשטות הקריאה וכ"ו. לא פחות ולא יותר.
 

דונג

New member
תודה ! אשמח לשמוע תשובות גם...

לשאר השאלות, ממי שיודע, ויש לו כוח
תודה רבה !
 

דונג

New member
מה זו התיקייה VSWebCache ?

השם שלה די מסגיר אותה...
היא ממוקמת בתוך Documents and Setting\MyUserName\ 1. מה בדיוק נשמר שם ? 2. האם זה חיוני ? 3. אפשר למחוק את זה ? 4. איך קובעים שזה לא יווצר יותר בעתיד ?
 
למעלה