我有一个应用程序,里面包含数千个路由。
这是因为我们针对每个产品使用自定义URL,而不是传统的/product/id格式。
由于这么多的URL,路由器的性能变得难以接受。
我正在尝试找到改进性能的方法,但我一直想不出来。
我大约有20个正则表达式路由和大约3000个独特的URL路由。
有什么好的建议吗?
很抱歉我的问题比较开放,但我不确定从哪里开始。
我有一个应用程序,里面包含数千个路由。
这是因为我们针对每个产品使用自定义URL,而不是传统的/product/id格式。
由于这么多的URL,路由器的性能变得难以接受。
我正在尝试找到改进性能的方法,但我一直想不出来。
我大约有20个正则表达式路由和大约3000个独特的URL路由。
有什么好的建议吗?
很抱歉我的问题比较开放,但我不确定从哪里开始。
我会摆脱三千个唯一的URL路由,并用一个通用路由替换它们,这个通用路由是最后一个捕获所有路由。类似于:
routes.MapRoute("productRoute", "{category}/{manufacturer}/{productTitle}", new { controller = "Products", action = "Index", category = UrlParameter.Optional, manufacturer = UrlParameter.Optional, productTitle = UrlParameter.Optional });
Application_Start
中:ViewEngines.Engines.Clear(); ViewEngines.Engines.Add(new RazorViewEngine());
这将使其仅查找 .cshtml 文件。 - David Wick