MVC スタイルのルーティングのどこでも見られる例は、次のようなものです。
void Application_Start(object sender, EventArgs e)
{
RegisterRoutes(RouteTable.Routes);
}
public static void RegisterRoutes(RouteCollection routes)
{
routes.Add(new Route
(
"Category/{action}/{categoryName}"
, new CategoryRouteHandler()
));
}
RouteTable.Routes コレクションを RegisterRoutes() に渡す理由は何ですか? それだけではない理由:
void Application_Start(object sender, EventArgs e)
{
RegisterRoutes();
}
public static void RegisterRoutes()
{
RouteTable.Routes.Add(new Route
(
"Category/{action}/{categoryName}"
, new CategoryRouteHandler()
));
}
RouteTable.Routes 以外のどの RouteCollection にルートが追加されますか? RouteTable.Routesは Web アプリケーションのRouteCollection ではありませんか?
Map() メソッドを持つ特定の IRouteHandler があります。
public class ChatRouteHandler : IRouteHandler
{
private static bool mapped;
public void Map()
{
if (!ChatRouteHandler.mapped)
{
RouteTable.Routes.Add
(
new Route("chat/{room}/{date}",
new ChatRouteHandler())
);
}
}
Map() が RouteCollection を受け入れ、RouteTable.Routes コレクションに追加しない理由はありますか? 繰り返しますが、この IRouteHandler を追加する他の RouteCollection はどれでしょうか?