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 に答える