2010-11-19 41 views
0

我試圖運行(在try塊,沒有趕上,但最後一)如果server.execute的子項調用Server.Transfer或handler.ProcessRequest或Response.Redirect,會發生什麼情況?

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)。

這些嵌套執行和傳輸和重定向的預期行爲是什麼?

回答

0

回答我自己的問題:

是的。一旦孩子請求完成處理,執行將最終取回控制權 - Server.Transfer的情況將轉移子請求,但不轉移父項。

相關問題