gpt4 book ai didi

asp.net - HTTPModule BeginRequest 应该使用 Response.Redirect 或 Server.Transfer

转载 作者:行者123 更新时间:2023-12-01 23:58:10 25 4
gpt4 key购买 nike

我们有一个 URLRewriting 模块,它在 BeginRequest 事件方法中使用 Response.Redirect 来更改目标页面。

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

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

编辑: HttpContext.RewritePath 也在模块中使用,因此我们似乎有三种技术可以将初始请求从原始路径移动;其中分别有Redirect、Transfer、RewritePath;返回到浏览器,返回到 HTTP 管道的起点并继续在新路径上进行处理。

最佳答案

这里是Redirect、Transfer、RewritePath的最好解释; http://www.developerfusion.com/article/4643/implementing-http-handlers-in-aspnet/4/

总结一下;重定向需要往返浏览器,传输确保原始请求对象仍然不是新请求,但存在回发问题,重写会丢失原始请求对象,但性能最佳。

关于asp.net - HTTPModule BeginRequest 应该使用 Response.Redirect 或 Server.Transfer,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1757336/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com