Возможно, это немного поздно, но в любом случае у меня сегодня была похожая проблема с моим веб-сайтом ASP.NET.
Оказалось, что это размер VIEWSTATE, который вызывал проблему.
У меня много бизнес-данных, которые содержатся в комбинациях и древовидных представлениях, и по умолчанию состояние просмотра было включено для этих присосок, и их общая сумма превышала 250 КБ! По какой-то причине в 64-разрядной системе Windows 7 это не вызывало проблемы (я тестировал в IE9, Chrome 13, Firefox 5, Safari 5), но в Mac OS X 10.6 страница загружалась очень медленно во всех браузерах Я тестировал (Safari 5, Firefox 5, Chrome 13). После того, как я уменьшил размер viewstate, все работало отлично, и время загрузки на стороне клиента было одинаково быстрым как в Windows, так и в OS X.
Так что, если у кого-то возникнет эта проблема, я бы посоветовал взглянуть на источник вашей страницы после того, как страница отобразится, и посмотреть, не слишком ли велико состояние просмотра. Если это так, попробуйте уменьшить размер вашего viewstate.
Один простой способ сделать это (ASP.NET 2.0+) - сохранить состояние представления в состоянии сеанса на сервере (что должно быть хорошо, если в вашем приложении нет кучи пользователей, а на сервере достаточно оперативной памяти). и состояние сеанса включено и т. д.). Вы можете легко сделать это, добавив в файл кода вашей страницы следующее:
PageStatePersister _pers;
protected override PageStatePersister PageStatePersister
{
get
{
if (_pers == null)
{
_pers = new SessionPageStatePersister(this);
}
return _pers;
}
}
Для получения дополнительной информации об этой технике проверьте http://msdn.microsoft.com/en-us/library/system.web.ui.pagestatepersister.aspx