0

我正在尝试运行(在 try 块中,没有 catch 而是 finally)

HttpContext.Current.Server.Execute(child1, tw, true);

子页面尝试运行以下之一:

context.Response.Redirect(child2.uri.ToString());
handler.ProcessRequest(context); //context has had items added to update querystring
context.Server.Transfer(child2.uri.ToString());

我可以期望控制权返回到我的原始页面吗?我想我可能 - 一旦代码到达(例如)Server.Transfer,我发现自己回到了我的 finally 块中的原始父页面(但我的 Server.Execute 之后的任何代码都被跳过了)。

请注意,如果我只是重定向到第一个子页面,它就可以正常工作,但是我必须传递 cookie 才能越过登录障碍(我试图用 Server.Execute 绕过它)。

这些嵌套执行、传输和重定向的预期行为是什么?

4

1 回答 1

0

回答我自己的问题:

是的。一旦子请求完成处理,Execute 最终将收回控制权——这种情况下Server.Transfer将传输子请求而不是父请求。

于 2011-06-23T17:08:31.380 回答