2010-11-19 9 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

私自身の質問に答える:

はい。子プロセスが処理を終了すると、Executeは最終的に制御を取り戻します。Server.Transferの場合は子要求を転送しますが、親は転送しません。

関連する問題