Будет ли Server.Transfer работать через домены приложений / веб-приложения?
Если у вас есть два приложения, расположенные на одном сервере, можете ли вы использовать Server.Transfer для загрузки страницы в другой домен приложений / приложение?
Я предполагаю, что нет, потому что Server.Transfer() копирует HttpContext.Items, среди прочего. Копирование этих данных между доменами приложений может вызвать проблемы с многопоточностью и совместным использованием памяти в мире, где строго соблюдена изоляция потоков.
Мысли?
2 ответа
Нет, это невозможно.
Server.Transfer
а также Server.Execute
не может быть использован в этих сценариях.
Это, однако, не копирует HttpContext.Items
, Это не копируется. Такой же HttpContext
используется повторно.
Вы не можете использовать Server.Transfer() через веб-приложения. Причина в том, что он на самом деле просто изменяет страницу, которую собирался вернуть HttpHandler, вместо того, чтобы завершить запрос и сделать новый. Это вызывает дополнительную поездку в браузер, но Response.Redirect() действительно способ сделать это.