У меня есть страница .aspx, которая генерирует отчет с помощью элемента управления ReportViewer.Обычно вызывается с другой страницы с помощью Response.Redirect.
Эту страницу можно использовать несколькими способами.Пока страница генерирует ответ, такой как вложение MIME, она работает, как и ожидалось.Однако теперь я добавил возможность генерировать отчет и отправлять его в виде вложения электронной почты.В этом случае страница не имеет заголовка и сама по себе не дает ответа.Вместо этого я хочу перенаправить обратно на страницу вызова и показать сообщение об успехе, например:
Страница вызывающего абонента -> Нажатие кнопки -> Response.Redirect (страница отчета) -> отчет о процессе -> Response.Redirect(Страница вызывающего абонента)
Работает так, как задумано в Chrome, но не в IE (8).Отчет обрабатывается и электронная почта отправляется, но 2-е перенаправление не работает, и время ожидания браузера истекло.Я рассмотрел использование Server.Transfer для перенаправления на страницу ReportViewer.Тайм-аут все еще произошел в IE.
Не может ли быть 2 перенаправления в одном запросе?Чего мне не хватает, и есть ли лучший способ сделать это?Эта цитата из RFC1945 заставляет меня думать, что подход должен быть в порядке:
Пользовательский агент никогда не должен автоматически перенаправлять запрос более 5 раз, поскольку такие перенаправления обычно указывают на бесконечный цикл.
К вашему сведению, я хочу сохранить всю логику обработки отчетов в кодовой части страницы ReportViewer, если это возможно, поскольку она взаимодействует с объектом Response в обычном сценарии, когда отчет передается обратно в браузер.