Вопрос

Недавно я обновил страницу на нашем сервере с классического asp на asp.net.

Страница получает постданные и сохраняет их в файл.Эту страницу используют многие наши клиенты, и URL-адрес (страницы asp) жестко запрограммирован в их программном обеспечении.Это означает, что я не могу просто заменить старую страницу на новую.Я пытаюсь найти способ перенаправить клиентов со старого URL-адреса на новый.Я знаю, что вы можете выполнить простое перенаправление с помощью IIS, но это не приведет к перенаправлению постданных.Я попытался установить для файла временное перенаправление 307, это работает, когда данные находятся в formdata, но другие почтовые запросы, например, использующие библиотеку msxml, не работают.

По сути, мне нужно найти в IIS способ пересылать запрос на публикацию с одной страницы на другую, не теряя при этом ничего из тела.

Это было полезно?

Решение 2

Лучшим способом, который я нашел, было использование кода временного перенаправления в IIS, хотя это не работало для постданных, происходящих из библиотеки msxml.В конце концов мне пришлось написать библиотеку COM в .NET, чтобы выполнить тяжелую работу с использованием библиотек system.encoding, а затем ссылаться на библиотеку COM в asp.

Другие советы

Если две страницы находятся в одном приложении, вы можете использовать Server.Transfer.Это просто переносит обработку со старой страницы на новую и сохраняет все данные запроса.

Вы всегда можете запрограммировать (в asp.old) цикл, который проходит через все данные формы и вставляет запись со всеми значениями в базе данных.Затем вы перенаправляете пользователя на свою aspx-страницу, используя идентификатор строки в базе данных в качестве параметра строки запроса.Будьте осторожны, если данные формы конфиденциальны, чтобы применить некоторую защиту, чтобы пользователи не «украли» чужие данные, изменив строку запроса.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top