IE показывает ранее кэшированную версию моей страницы - PullRequest
0 голосов
/ 11 августа 2011

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

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

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

Спасибо

C # Asp.net, IE & 7 / IE 8

Ответы [ 3 ]

1 голос
/ 12 августа 2011

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

Есть 2 очень хорошие ссылки, объясняющие реализацию.

Первая ссылка объясняет, что такое COMET и как он связан с ASP.NET, вторая ссылка имеет пример использования комнаты чата.Тем не менее, я уверен, что код, запрашивающий обновления, будет довольно общим и может быть применен к вашему сценарию.

Я еще никогда не реализовывал COMET, поэтому я не уверен, насколько он сложен или проствнедрить в ваше решение.

Возможно, кто-то, разрабатывающий приложение SO, сможет решить эту проблему для вас.SO использует некоторую функцию в реальном времени для уведомлений на странице, а именно: вы находитесь в процессе написания ответа, и в вашем клиенте появляется сообщение, сообщающее, что кто-то еще добавил ответ, и нажимает «здесь», чтобы обновить.

0 голосов
/ 12 августа 2011

Правильное исправление заключается в правильной установке директив кэширования в ответе HTTP, чтобы кэшированный ответ не использовался повторно без проверки с сервера.

Когда вы не можете указать время жизни кэша, клиент имеет«угадать», как долго будет полезен ответ, и предположение браузера, вероятно, не то, что вам нужно.Смотри http://blogs.msdn.com/b/ie/archive/2010/07/14/caching-improvements-in-internet-explorer-9.aspx

0 голосов
/ 11 августа 2011

Лучше использовать URL-параметры.Итак, у вас есть представление о значении параметров.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...