首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >性能重写规则与routes.maproute

问性能重写规则与routes.maproute
EN

Stack Overflow用户
提问于 2016-05-02 18:37:54
回答 1查看 365关注 0票数 0

我正在帮助一个客户端进行web应用程序升级,这包括一项需要将100的过期书签路由到新urls的任务。

在查看以下链接时,似乎很清楚,我应该更新路由表,而不是在web.config中重新写入规则来处理过期的书签:

When to use routes vs. rewrite rules?

http://www.iis.net/learn/extensions/url-rewrite-module/iis-url-rewriting-and-aspnet-routing

从好奇的角度来看,如果在web.config中重写100-250条规则,而不是直接处理映射的routes.maproute中的条目,那么这将是一个实质性的性能问题。对吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-05-02 19:09:09

无论哪种方式,在任何实际路由被击中之前,都需要执行所有规则。因此,在这两种方法中使用的性能都是相似的。

我怀疑IIS重写模块会稍微快一些,因为它发生在.NET甚至涉及到请求之前。然而,实际性能将取决于是否使用部分URL匹配(最快)与区分大小写的完整URL匹配(fast)与不区分大小写的完整URL匹配(不太快)和使用正则表达式(慢)。请注意,IIS重写中并非所有这些选项都可用。

此外,从维护的角度来看,使用IIS重写比使用过时URL的映射路由更有意义。然后,您可以将这些旧URL排除在应用程序的配置之外。

唯一的例外是,如果您想处理浏览器不尊重HTTP301的用户边缘情况,并且希望使用make a user-friendly redirect page来确保用户了解更新的URL并更新他们的书签。IIS重写模块只发送一个301响应,并假设客户端会尊重它(情况并不总是这样)。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36989297

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档