Routing בasp.net עזרה בנושא - תכנות - HWzone פורומים
עבור לתוכן
  • צור חשבון

Routing בasp.net עזרה בנושא


bdoron

Recommended Posts

מממ נתקלתי בנושא הזה במהלך הלימוד שלי ואני לא מצליח להבין את הנושא הזה

אשמח אם מישהו יסביר לי את זה במילים פשוטות....

למה צריך את זה ואיפה משתמשים בזה ...

תודה :):ugly21:

קישור לתוכן
שתף באתרים אחרים

פעם כשהיית ניגש לכתובת מסוימת, הכתובת הזו הייתה מייצגת איזשהו קובץ פיזי שנמצא על השרת. לדוגמה http://www.example.com/a/b/c.html ניגשת לקובץ c.html שיושב בתיקייה b שיושבת בתיקייה a.

היום זה כבר לא ככה. כשאתה ניגש לכתובת http://hwzone.co.il/community/threads/547686 אז אין שום תיקייה בשם community ותיקייה בשם threads. במקום זה השרת מפרש את הכתובת הזו ומפנה לדף המתאים (נגיד, הוא כנראה מפנה לעמוד בשם threads.php עם פרמטר t=547686).

זה בדיוק מה שעושה מנגנון ה-routing. לדוגמה ב-ASP.NET MVC, ה-routing הדיפולטי הוא {controller}/{action}/{id}. זה אומר שכשאתה מנסה לגשת לכתובת www.example.com/A/B/C אז השרת אומר כזה דבר - הקונטרולר הוא A, האקשן הוא B, והid הוא C, ומפנה לדף המתאים - במקרה של ASP.NET MVC הוא יחפש מחלקה בשם AController, יחפש בתוכה פונקציה בשם B עם פרמטר בשם id, ויפעיל אותה עם "id="C.

אתה יכול לקרוא עוד כאן:

http://msdn.microsoft.com/en-us/library/vstudio/cc668201(v=vs.100).aspx

קישור לתוכן
שתף באתרים אחרים

למה זה נועד

אגב שזה מביא אותי לעוד נקודה, שאני יוצר אתר בasp.net אני בוחר קובץ aspx שעולה כstart up page

ואז בשביל להריץ למשל אני באמת צריך לרשום כתובת פיזית בשרת...

איך באמת קורה שאתרים למשל אני רושם www.example.com וזה נכנס לדף ספציפי איך אני עושה את זה בדיוק?

קישור לתוכן
שתף באתרים אחרים

השרת מחפש קודם כל דף ברירת מחדל, משהו כמו index.aspx/php/html או default.aspx/php/html (זה תלוי בשרת ובהגדרות שלו).

למה זה נועד? כמו שאמרתי, זה נועד לעשות כתובות שיהיו יותר קריאות, ולנתק את המבנה של הכתובות מהמבנה הפיזי של הקבצים על השרת. קח את הדוגמה של hwzone - בלי האופציה הזו, היית צריך שתהיה לך תיקייה בשם community שבתוכה יושב דף בתוך threads.php, ועל מנת לגשת לדיון הנוכחי היית צריך לגשת לכתובת כזו:

http://hwzone.co.il/community/threads.php?t=547686

קישור לתוכן
שתף באתרים אחרים

מממ ולמה זה נחשב קריא?

http://hwzone.co.il/community/threads/547686-Routing-%D7%91asp-net-%D7%A2%D7%96%D7%A8%D7%94-%D7%91%D7%A0%D7%95%D7%A9%D7%90?p=4917483#post4917483

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

- - - תגובה אוחדה: - - -

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

קישור לתוכן
שתף באתרים אחרים

גם אבטחה, כן. אבל זה לא רק זה, ה-routing נותן לך לעשות דברים יותר מורכבים. כמו שאמרתי קודם, ב-asp.net mvc העסק יותר מורכב - המשתמש בכלל לא ניגש לדף מסוים, אלא הוא ניגש ל-controller. לדוגמה, אם אתה משתמש בניתוב ברירת המחדל, אז כשהמשתמש ניגש לכתובת www.example.com/Products/show/beverages, השרת ניגש למחלקה שנקראת ProductController, ומפעיל שם פונקציה בשם show עם הפרמטר "id="beverages. ה-routing זה מה שאומר לו שהחלק הראשון בכתובת (Product בדוגמה הזו) זה השם של המחלקה לחפש, החלק השני הוא השם של הפונקציה להפעיל והחלק השלישי הוא הערך של הפרמטר להעביר לפונקציה. בלי זה היית צריך להשתמש בכתובת שנראית ככה: www.example.com/Products.aspx?action=show&id=beverages, שהיא פחות קריאה ונוחה (לדעתי).

קישור לתוכן
שתף באתרים אחרים

תכלס , אבל אני לא משתמש כרגע בmvc אני לומד את הרגיל כי רוב השוק מתעסק עם רגיל פחות עם mvc ואני בינתיים לא רוצה לקפוץ למים יותר מידיי עמוקים

קודם נהיה מקצועיים בבסיס :)

- - - תגובה אוחדה: - - -

אני בדיוק מתעסק עם מדריך של signalr והוא רושם שם את המשפט הבא:

we will need to configure

SignalR by registering a route in ASP.NET.

אני לא מבין מה הקשר אם אני רוצה להגדיר את signalR לבין לרשום route

קישור לתוכן
שתף באתרים אחרים

ארכיון

דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.

×
  • צור חדש...