首页 / 知识
关于asp.net:IIS URL重写与URL路由
2023-04-17 00:03:00
IIS URL Rewriting vs URL Routing我打算将URL路由用于Web窗体应用程序。 但是,在阅读了一些帖子之后,我不确定这是否是一种简单的方法。 将URL重写模块用于Web表单是否更好? 但是,仅适用于IIS7。 最初,有些嗡嗡声表明URL路由与Asp.Net MVC完全脱钩,可以用于Web表单。 希望听到任何建议。 这是我找到的关于该主题的最佳文章:Ruslan Yakushev的IIS URL重写和ASP.NET路由。 IIS URL重写 当客户端向Web服务器请求特定URL时,URL重写组件将分析所请求的URL,并将其更改为同一服务器上的其他URL。 URL重写组件在请求处理管道中非常早地运行,因此能够在Web服务器决定使用哪个处理程序来决定请求之前修改请求的URL。
ASP.NET路由 ASP.NET路由被实现为托管代码模块,该模块在"解析缓存"阶段(PostResolveRequestCache事件)和"地图处理程序"阶段(PostMapRequestHandler)插入IIS请求处理管道。 ASP.NET路由配置为针对Web应用程序发出的所有请求运行。
URL重写和ASP.NET路由之间的区别: 除了这些概念上的差异外,IIS URL重写和ASP.NET路由之间还存在一些功能差异: IIS团队的成员在这里发表了一篇很棒的文章,介绍了两者之间的区别。 我建议的一个警告是,对于WebForms,在使用"路由"时需要小心。我已经编写了一个示例实现,该示例实现了如何将路由与WebForms一起使用,从而解决了这些问题,并有望帮助回答您的问题。 您是否希望将格式化的网址作为生成页面的工厂? 还是要使.aspx消失? 重写,是为了使.aspx消失,或者只是整理URL。 路由用于查看请求并确定应由哪个对象处理。听起来很像,菲尔·哈克(phil haack)对此有一些不错的文章。 在iis6中,isapiRewrite非常好 最近,我刚刚编写了自己的重写系统,以使站点上的URL看起来更好。基本上,您将需要编写自己的IHttpModule并将其添加到web.config中以拦截传入的请求。然后,您可以使用HttpContext.Current.RewritePath更改所指向的内容。 您还需要将站点配置为使用aspnet_isapi进行所有操作。 您会发现很多小问题,例如尝试使用在其上使用"尾巴"的页面(例如PageMethods),或者页面元素和表单回发的路径,但是您将逐步解决它们。 如果有兴趣,我可以发布代码链接,您可以签出。我已经解决了许多问题,因此您可以随时阅读。我敢肯定,还有很多其他人也这样做,这可能也是很好的资源。 您可能想看看我对这个问题的答案:ASP.NET-构建您自己的路由系统。我提供了一些很好的参考,以帮助您使用url重写方法或ASP.NET MVC项目中提供的新路由引擎来构建自己的路由系统。 对于IIS上的URL重写,IIRF可在IIS5、6、7中使用。免费。简单。快速。开源。正则表达式支持。 .Net 3.5 SP1中提供的Dynamic Data项目显示了URL路由实现的一个很好的例子。 |
最新内容
相关内容
linux组播路由命令?
linux组播路由命令?,网络,信息,地址,系统,通信,工具,命令,服务,数字,控制台,LiNUX系统下,通过什么命令可以查看系统的路由表route print 是Winlinux写永久路由命令?
linux写永久路由命令?,信息,系统,网络,工作,新增,环境,路由,地址,情况,服务,linux系统怎么添加路由?1、linux怎么添加静态路由?我们一起来了解删除路由命令linux?
删除路由命令linux?,系统,信息,网络,地址,管理,环境,路由,命令,工作,基础,WINDOWS和LINUX系统清空路由表的命令使用Ctrl+R快捷键打开运行框,输linux看路由表命令?
linux看路由表命令?,网络,信息,状态,系统,地址,数字,命令,电脑,工具,环境,用于查看和配置网络ifconfig命令已被淘汰,你知道下一代的命令吗1、ilinux路由匹配命令?
linux路由匹配命令?,信息,地址,系统,电脑,设备,服务,网络,时间,数字,情况,Linux系统中traceroute命令使用详解使用traceroute命令非常简单,只需linux设置路由器命令?
linux设置路由器命令?,网络,信息,代码,地址,电脑,工作,环境,系统,密码,路由,linux如何配置路由?注:其中第一条配置的为默认路由,默认路由掩码和linux设置路由器命令?
linux设置路由器命令?,网络,信息,代码,地址,电脑,工作,环境,系统,密码,路由,linux如何配置路由?注:其中第一条配置的为默认路由,默认路由掩码和linux永久路由命令?
linux永久路由命令?,系统,网络,信息,密码,服务,状态,地址,管理,情况,工作,Linux多个网卡怎么添加永久路由1、由于之前构建服务器需要实现内网linux路由追踪命令?
linux路由追踪命令?,网络,系统,信息,地址,设备,电脑,时间,命令,通信,工具,LiNUX系统下,通过什么命令可以查看系统的路由表1、route print 是Wilinux变更路由命令?
linux变更路由命令?,代码,系统,网络,信息,路由,通讯,数据,网上,第一,地址,linux下如何删除静态路由条目/或者静态路由的文件在哪个目录下面?_红帽linux加路由命令?
红帽linux加路由命令?,信息,网络,地址,系统,新增,环境,工具,路由,数字,服务,linux系统怎么添加路由?1、在Linux上可以用“route add default glinux做路由跟踪命令?
linux做路由跟踪命令?,网络,系统,地址,设备,信息,电脑,工作,命令,服务,全球,linux查找网络配置命令是什么?1、首先在电脑上打开Linux系统,然后