Вопрос

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

Мой вопрос: если я отключу состояние просмотра страницы, остановится ли это состояние просмотра элементов управления на главной странице (насколько я понимаю, главная страница на самом деле является элементом управления на странице).

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

Решение

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

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

Есть простой способ сжать все ваше состояние просмотра.

Шаг 1.Создайте новый класс, который выглядит следующим образом:

Imports System  
Imports System.Web.UI

Public Class SessionPageStateAdapter
    Inherits System.Web.UI.Adapters.PageAdapter

    Public Overrides Function GetStatePersister() As System.Web.UI.PageStatePersister

        Return New SessionPageStatePersister(Page)

    End Function
End Class

Шаг 2.Добавить App_Browsers папку в ваш проект.

Шаг 3.В твоем новом App_Browsers папку, добавьте новую default.browser файл, который выглядит так.
<browsers>
<browser refID="Default">
<controlAdapters>
<adapter controlType="System.Web.UI.Page" adapterType="[YourNamespaceGoesHere].SessionPageStateAdapter" />
</controlAdapters>
</browser>
</browsers>

Когда вы сейчас запустите свои страницы, вы должны обнаружить, что размер вашего состояния просмотра упал до нескольких байт.Класс SessionPageStateAdapter перехватывает состояние представления до того, как оно будет передано браузеру, и удерживает его на сервере в состоянии сеанса.Часть состояния просмотра, которая по-прежнему отправляется клиенту, представляет собой просто идентификатор, который используется для восстановления исходного состояния просмотра, когда страница отправляется обратно на сервер.

Возможно, вам будет полезна эта статья:
http://msdn.microsoft.com/en-us/library/ms972976.aspx

Прежде чем оптимизировать сайт, сделайте небольшое замечание: оптимизировали ли вы сервер, убедившись, что все файлы заархивированы перед отправкой.

В противном случае это даст вам хороший импульс еще до того, как вы начнете возиться со страницей.

http://www.codinghorror.com/blog/archives/000059.html

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