ASP.NET MVC 3.0 Internals
בפוסט זה אני רוצה לכתוב על איך עובד ה- ASP.NET MVC 3.0 ואיפה אפשר להרחיב ולשנות את הטכנולוגיה.
אני מחלק את הפוסט לארבעה חלקים:
2. Controller Extensibility
3. Model Extensibility
4. View Extensibility
ה- MVC חי בתוך ה- ASP.NET וכדי לשנות את סדר הפעולות שקורות ב- ASP.NET הוא משתמש במנגנון ה- Routing שנוסף בדוט-נט 4, הוא רושם אוביקט Route ל- RouteTable.
ב- Global.asax.cs אנחנו יכולים לראות את הקוד הבא:
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new // Parameter defaults
{
controller = "Home",
action = "Index",
id = UrlParameter.Optional
}
);
המתודה MapRoute היא Extension Method תפקידה ליצור אוביקט Route שמקשר בין ה- "{controller}/{action}/{id}" ל- MvcRouteHandler. אם מסתכלים בתוך הקוד של המתודה MapRoute נמצא את השורות הבאות:
var route =
new Route( url , new MvcRouteHandler() )
{
Defaults = new RouteValueDictionary(defaults),
Constraints = new RouteValueDictionary(constraints),
DataTokens = new RouteValueDictionary()
};
Read more: I Love C#
0 comments:
Post a Comment