加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

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

发布时间:2020-12-16 00:05:45 所属栏目:asp.Net 来源:网络整理
导读:在最近的一个项目中,我用PHP构建了自己的MVC框架.我实现的一件事是路由系统.我使用Apache的mod_rewrite将所有请求发送到index.php,然后解析URI以提取信息并路由请求. 我现在正在涉足ASP.NET,我想知道是否/如何执行类似的操作.有没有办法将所有请求(类似于Wor
在最近的一个项目中,我用PHP构建了自己的MVC框架.我实现的一件事是路由系统.我使用Apache的mod_rewrite将所有请求发送到index.php,然后解析URI以提取信息并路由请求.

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

编辑:
顺便说一句,我的托管服务提供商运行IIS 6

解决方法

这将是一个很长的答案,因为我想确保你完全了解你可以完成你想做的所有方法.

支持ASP.NET MVC框架的路由引擎将与传统的ASP.NET框架一起使用.您可以利用RouteTable并分配路由,就像在ASP.NET MVC应用程序中一样.您只是没有在传统的ASP.NET站点中获得MVC部分.这对ASP.NET框架来说是一个巨大的增强,很高兴看到它们重用该代码并使其在两个框架中都能工作.如果您想了解更多相关信息,请查看ScottGu的post并向下滚动到URL路由改进.这里还有一个关于如何使用Phil Haack在WebForms中使用System.Web.Routing的reference.

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

现在,如果你发现这可能对你有很大帮助.您可以使用已经在.NET中编写路由/ URL重写引擎的人使用的第三方库.这是一个我不久前看到的问题,问“What Url rewriter do you use for ASP.Net?”就在这里.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读