ViewState недействителен только в Safari

Один из сайтов, которые я поддерживаю, сильно зависит от использования ViewState(это не мой код). Тем не менее, на некоторых страницах с ViewStateизбыточным расширением Safari выдает "Validation of viewstate MAC failed"ошибку.

Похоже, это происходит только в Safari. Firefox, IE и Opera успешно загружаются в одном сценарии.

4.08.2008 12:38:21
3 ОТВЕТА

Хотя я поддерживаю решение Channel 9, помните, что в некоторых хостинговых средах Safari не считается браузером верхнего уровня. Возможно, вам придется добавить его в browscap вашего приложения, чтобы использовать некоторые функции ASP.Net.

Это было основной причиной некоторых головных болей, которые мы испытывали для сайта клиента, который использовал элемент управления ASP Menu.

5
4.08.2008 18:46:15

Моим первым портом захода было бы просмотреть элементы на странице и посмотреть, какие элементы управления:

  1. Будет работать, когда я выключу ViewState
  2. Может быть перемещен со страницы в вызов AJAX и загружен при необходимости

В противном случае, и вот отказ от ответственности - я никогда не использовал это решение на веб-сайте - но в прошлом, когда я хотел исключить массивные ViewStates в приложениях с ограниченной аудиторией, я сохранял ViewState в Session.

Это сработало для меня, потому что попадание в память не является значительным для числа пользователей, но если вы используете довольно популярный сайт, я бы не рекомендовал такой подход. Тем не менее, если решение Session работает для Safari, вы всегда можете обнаружить пользовательский агент и подобрать подходящее решение.

3
4.08.2008 13:00:32
РЕШЕНИЕ

Я провел небольшое исследование в этой области, и хотя я не совсем уверен, что причина в том, что я считаю, что Safari не возвращает полный набор результатов (следовательно, обрезает его).

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

http://channel9.msdn.com/forums/TechOff/250549-ASPNET-ViewState-flawed-architecture/?CommentID=270477#263702

Кажется ли это лучшим решением?

2
4.08.2008 12:40:49