代码之家  ›  专栏  ›  技术社区  ›  sergtk

ASP.NET-构建自己的路由系统

  •  2
  • sergtk  · 技术社区  · 16 年前

    在最近的一个项目中,我用PHP构建了自己的MVC框架。我实现的事情之一是路由系统。我使用Apache的mod_rewrite将所有请求发送到index.php,然后解析URI以提取信息并路由请求。

    我现在涉猎ASP.NET,我想知道是否/如何执行类似的操作。是否有办法将所有请求(类似于WordPress的方式)路由到一个执行中央路由处理的页面?我知道ASP.NET的MVC框架,但我想自己尝试一下,因为我正在修补和学习。

    编辑:

    1 回复  |  直到 16 年前
        1
  •  6
  •   Community c0D3l0g1c    7 年前

    这将是一个很长的答案,因为我想确保你充分意识到你可以通过各种方式完成你想做的事情。

    为ASP.NET MVC框架提供动力的路由引擎将与传统的ASP.NET框架一起工作。您可以利用RouteTable并分配路由,就像在ASP.NET MVC应用程序中一样。在传统的ASP.NET站点中,您无法获得MVC部分。这对ASP.NET框架来说是一个巨大的增强,看到他们重用代码并使其在两个框架中都能工作真是太好了。如果你想了解更多信息,请查看ScottGu's post reference

    现在,如果你还想写你自己的。您需要学习ASP.NET HTTP管道以及如何实现 IHttpModule IHttpHandler 接口来创建自己的HttpModule或HttpHandler类来处理路由。这些接口是编写自己的路由引擎的关键。为了帮助将这些接口放在一个工作示例中,我不推荐这样做 MSDN article 足够地它向您展示了如何使用任一接口,并解释了在创建自己的路由/url重写引擎时的区别。

    What Url rewriter do you use for ASP.Net? “就在这儿。