2010-02-22 136 views
1

在ASP.NET MVC 2中使用路由引擎注册多个路由时是否存在任何性能问题?我打算做的是为每个页面注册一个不属于类别的内容页面的路由。换句话说,对于这类网页,会有为每一个注册的一个途径:ASP.NET MVC和路由性能?

  • /首页/
  • /首页/联系
  • /主页/路线
  • /主页/ Meet-我们的员工

虽然有一些这些网页,但没有数百个。具有明确的路由是有用的,因为RoutCollection.MapRoute的第三个参数是“对象默认值”,它可以用来保存一些与URL相关的后端信息。

一种替代方法是让这些URL的请求落入默认路由,该路由将根据URL进行一些查找(以获取与通过“对象默认值”存储的信息相同的信息),然后按照相同的代码路径显示页面。我更喜欢第一个选项,因为我认为它比解析URL更清晰,并且由于“对象默认值”而具有性能优势。

+1

我问同样的问题响应菲尔哈克的博客文章之一: http://haacked.com/archive/2010/02/21/manipulating-action-method-parameters.aspx#feedback 后考虑到这一点,我决定为部分设置catchall路由,但不为每个静态页面设置路由。 – Cymen 2010-02-24 21:00:44

回答

1

我不知道任何性能问题。 URL路由是为处理大量路由而构建的,我非常确定IIS只编译一次并使用它们,直到它们所在的文件发生更改。您必须记住,URL路由是为处理每个产品具有自己的URL的目录而构建的。所以这应该说它的表现。