1

mvcアプリケーションに複数のルートがあります。アプリケーション内の複数のルートがパフォーマンスに悪いことであるか知りたいですか?

routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
            routes.MapRoute(
                "Faq",
                "Faq/{action}",
                new { controller = "Faq", action = "Index" }
                );
            routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
            routes.MapRoute(
                "PostArchive",
                "Post/{action}",
                new { controller = "Post", action = "PostArchive" }
                );
            routes.MapRoute(
                "LogOn",
                "Account/{action}",
                new { controller = "Account", action = "LogOn" }
                );
            routes.MapRoute(
                "Localization",
                "{lang}/{controller}/{action}/{id}",
                new { controller = "Home", action = "Index", id = UrlParameter.Optional, lang = UrlParameter.Optional } // Parameter defaults
                );

            routes.MapRoute(
                name: "Default",
                url: "{controller}/{action}/{id}/{Name}",
                defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional, name = UrlParameter.Optional },
                namespaces: new[] { "MVCTemplateProject.Controllers" }
                );

            routes.MapRoute(
                name: "Post",
                url: "{lang}/{controller}/{action}/{id}/{Title}",
                defaults: new { controller = "Post", action = "Index", id = UrlParameter.Optional, Title = UrlParameter.Optional },
                namespaces: new[] { "MVCTemplateProject.Controllers" }
                );
4

2 に答える 2

0

いいえ、ルートチェックは高速で効率的です。

ほとんどのサイトには、ルートがほとんどないか、1つしかありません。

他のサイトには30以上のルートがあります。私の経験から、30の異なるルートがあるサイトでは、パフォーマンスに認識できる遅れはありません。

于 2013-01-21T21:02:46.093 に答える
0

Sam Saffronは、ルートのパフォーマンス、特に正規表現制約を使用したルート、およびルートの順序について興味深いブログ記事を書きました。特に、実装が比較的簡単な手法で彼が達成したパフォーマンスの向上を考慮すると、一読する価値があります。

于 2013-01-21T22:53:10.860 に答える