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

asp.net – HTTPModule BeginRequest应该是Response.Redirect或S

发布时间:2020-12-15 22:36:10 所属栏目:asp.Net 来源:网络整理
导读:我们有一个URLRewriting模块,它使用BeginRequest事件方法中的Response.Redirect来更改目标页面. 使用Server.Transfer或Server.TransferRequest而不是Response.Redirect会更好吗? 解决方案中还有其他HTTP模块,我是否可以通过使用Server.Transfer绕过任何其他
我们有一个URLRewriting模块,它使用BeginRequest事件方法中的Response.Redirect来更改目标页面.

>使用Server.Transfer或Server.TransferRequest而不是Response.Redirect会更好吗?
>解决方案中还有其他HTTP模块,我是否可以通过使用Server.Transfer绕过任何其他模块,或者服务器是否会像新请求一样开始,只是保存到浏览器的往返?
>客户是否会发现任何差异,服务器是否会以不同方式处理请求?

以下问题涵盖重定向和传输之间的差异,但不包括HTTP模块中的差异;

> Server.Transfer Vs. Response.Redirect
> Response.Redirect and Server.Transfer

编辑:HttpContext.RewritePath也在模块中使用,所以我们似乎有三种技术可以从原始路径移动初始请求;分别是Redirect,Transfer,RewritePath;返回浏览器,返回HTTP管道的开始并继续处理新路径.

解决方法

以下是Redirect vs Transfer vs RewritePath的最佳解释; http://www.developerfusion.com/article/4643/implementing-http-handlers-in-aspnet/4/

总结一下;重定向需要往返浏览器,Transfer确保原始Request对象不是新请求但是有Post-backs问题,Rewrite丢失了原始Request对象但是性能最佳.

(编辑:李大同)

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

    推荐文章
      热点阅读