Lea*_*hen 13 asp.net url-rewriting
我知道他们都不会更改客户端看到的URL.是否有任何东西使其中一个优于另一个?
我打算在Global.asax的Application_BeginRequest中使用它,也可以在常规的aspx页面中使用它.
我认为Context.RewritePath()
是更好的选择.原因:
Server.Transfer()
ThreadAbortException
每次都抛出一个.打电话的结果Response.End()
.
有关更多详细信息,请阅读以下MS文章:
更多信息:
Server.Transfer()
不会发送HTTP 302重定向命令Response.Redirect()
.
根据MSDN上的HttpContext.RewritePath,RewritePath()
用于无cookie会话状态.
此外,在不同的主题上,Server.Transfer()
并且Server.Execute()
是非常不同的:
Server.Execute()
在调用它之后立即将控制权返回到初始页面.
例如:
<div>
test 1 <br/>
<% Server.Execute("include.aspx?hello=ok"); %>
test 2 <br/>
</div>
Run Code Online (Sandbox Code Playgroud)
输出:
测试1
include.aspx的内容?hello = ok
test 2