ASP MVC - 需要路由吗?

时间:2010-06-06 20:19:42

标签: asp.net asp.net-mvc routing

我一直在阅读VS2010中的MVC2,听起来很有趣。我实际上正处于一个大型多租户应用程序项目的中间,并且刚刚开始编写UI。我正在考虑换到MVC,因为我现在还没那么远。我对路由功能有一些疑问,即他们需要使用MVC还是我或多或少会忽略路由?或者我是否必须设置一个默认路由记录,使事情像标准ASPX一样工作(就路由而言)?

我不想使用路由的原因是因为我已经定义了自己的自定义URL'重写'机制(在session_start上触发)。另外,我正在为整个UI使用jquery和opens-standards,而MVC的aspx无开销方法似乎更适合我已经开始构建应用程序的方式(我根本不使用viewstate,例如)。

我想我最关心的是路由是否可以忽略,如果我必须重新实现我的自定义URL重写以使用MVC,如果是这样的话,我该怎么做?作为一个新的路由例程,或坚持使用session_start(如果可能的话?)。

最后,我不想对网址使用任何远程“智能/可读”的东西 - 对于像StackOverflow这样的网站,URL的可读性是积极的,但如果它不是公共网站,情况恰恰相反像这个。实际上,在我看来,更友好的MVC路由URL(间接显示方法名称)可能会对像我正在开发的私有非公共网站应用程序造成安全风险。

由于所有这些原因,我很乐意使用MVC的轻量级方面,但完全跳过路由 - 这可能吗?

2 个答案:

答案 0 :(得分:0)

您可以在没有路由的情况下使其工作,但您必须重建很多框架并且几乎构建自己的路由引擎。这没有任何意义,因为微软已经为您提供了一个出色的路由框架。无论如何,您可以使用路由框架轻松实现所有网址重写规则。如果使用路由框架,则不必在URL中具有控制器名称的操作名称。只要您可以告诉应该从原始URL执行哪些操作,就可以实现它。

我的建议是阅读路由框架并了解它的工作原理。我很确定你不会后悔的。

答案 1 :(得分:0)

不要绕过路由

路由是Asp.net MVC必不可少的一部分,忽略它会带来或多或少的麻烦。您可以使用ISS7 URL重写模块,但只有在您的请求具有特定格式时才能使用,否则您将最终为应用中使用的每个请求编写重写。

好处是路由不是你应该害怕的,只要你不开始讨厌一些复杂的路由规则就很容易理解。然后你会深入研究它,甚至可能更喜欢它。