2010-11-19 2 views
0

Я пытаюсь запустить (в Ьгу блоке, без улова, но в конце концов)если дочерний сервер 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 перенесет дочерний запрос, но не родительский.

Смежные вопросы