1

对于预期流量为中到低的网站,我已经使用单个控制器“产品”跟踪 url/route 结构。

  1. website.com/about
  2. website.com/faq
  3. website.com/feedback
  4. website.com/product-name
  5. website.com/product/list

对于第四条路线,“website.com/xyz”之后的任何内容都会被路由到“详细信息”操作。

公共 ActionResult 详细信息(字符串名称){ }

我希望“产品名称”成为网站的一级公民。因此,对于任何单段路由(关于、隐私等),我必须在“产品名称”路由之前为每个操作添加一个路由。将来我可能会添加更多单段路线,例如“website.com/newaction”

产品详细信息和列表是常用操作,并且由于路由是按顺序评估的,这可能会导致频繁路由的性能问题?

我做得对吗?有没有更好的方法?或者对于常规到低流量的网站来说,为每个频繁操作的请求评估 10 条左右的路线是可以的?

4

1 回答 1

0

10条路线不会影响性能,所以不用担心。前三个路由可以归为一个(假设它们都由 HomeController 处理):

routes.MapRoutes(null, "{action}", 
   { action = "Index", controller = "Home" },
   { action = "index|about|faq|feedback" });
于 2012-11-14T20:11:15.090 回答