Будет ли Server.Transfer работать через домены приложений / веб-приложения?

Если у вас есть два приложения, расположенные на одном сервере, можете ли вы использовать Server.Transfer для загрузки страницы в другой домен приложений / приложение?

Я предполагаю, что нет, потому что Server.Transfer() копирует HttpContext.Items, среди прочего. Копирование этих данных между доменами приложений может вызвать проблемы с многопоточностью и совместным использованием памяти в мире, где строго соблюдена изоляция потоков.

Мысли?

2 ответа

Решение

Нет, это невозможно.

Server.Transfer а также Server.Execute не может быть использован в этих сценариях.

Это, однако, не копирует HttpContext.Items, Это не копируется. Такой же HttpContext используется повторно.

Вы не можете использовать Server.Transfer() через веб-приложения. Причина в том, что он на самом деле просто изменяет страницу, которую собирался вернуть HttpHandler, вместо того, чтобы завершить запрос и сделать новый. Это вызывает дополнительную поездку в браузер, но Response.Redirect() действительно способ сделать это.

Server.Transfer vs Response.Redirect

Другие вопросы по тегам