当前位置:  开发笔记 > 后端 > 正文

Server.Transfer与Context.RewritePath

如何解决《Server.Transfer与Context.RewritePath》经验,为你挑选了1个好方法。

我知道他们都不会更改客户端看到的URL.是否有任何东西使其中一个优于另一个?
我打算在Global.asax的Application_BeginRequest中使用它,也可以在常规的aspx页面中使用它.



1> netadictos..:

我认为Context.RewritePath()是更好的选择.原因:

Server.Transfer()ThreadAbortException每次都抛出一个.打电话的结果Response.End().

有关更多详细信息,请阅读以下MS文章:

如果您使用Response.End,Response.Redirect或Server.Transfer,则会发生ThreadAbortException

MSDN上的HttpServerUtility.Transfer方法

更多信息:
Server.Transfer()不会发送HTTP 302重定向命令Response.Redirect().

根据MSDN上的HttpContext.RewritePath,RewritePath()用于无cookie会话状态.

此外,在不同的主题上,Server.Transfer()并且Server.Execute()是非常不同的:

Server.Execute() 在调用它之后立即将控制权返回到初始页面.

例如:

test 1
<% Server.Execute("include.aspx?hello=ok"); %> test 2

输出:

测试1
include.aspx的内容?hello = ok
test 2

推荐阅读
罗文彬2502852027
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有