Pregunta

Estoy buscando mejorar el rendimiento de mi sitio, no porque funcione mal, sino solo como un ejercicio general. La sugerencia habitual para los sitios asp.net es eliminar viewstate siempre que sea posible. Creo que esto puede hacerse por cada control en una página por separado o para toda la página.

Mi pregunta es si deshabilito el estado de vista de la página, esto detendrá el estado de vista de los controles en una página maestra (según tengo entendido, la página maestra es en realidad un control en la página).

¿Fue útil?

Solución

Sí, la página es la creadora del flujo de la página. Por lo tanto, deshabilitar viewstate para la página elimina la representación del estado de vista del proceso OnInit. Una mejor pregunta sería ¿por qué deshabilitar el estado de vista para la página maestra hace lo mismo?

Otros consejos

Hay una manera fácil de reducir todo su estado de vista.

Paso 1. Cree una nueva clase que se vea así:

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

Paso 2. Agregue una carpeta App_Browsers a su proyecto.

Paso 3. En su nueva carpeta default.browser, agregue un nuevo archivo <browsers>
<browser refID="Default">
<controlAdapters>
<adapter controlType="System.Web.UI.Page" adapterType="[YourNamespaceGoesHere].SessionPageStateAdapter" />
</controlAdapters>
</browser>
</browsers>
que tenga este aspecto.
<=>

Cuando ejecuta sus páginas ahora, debería encontrar que el tamaño de su estado de vista se ha reducido a unos pocos bytes. La clase SessionPageStateAdapter intercepta el estado de vista antes de que se sirva en el navegador y lo retiene en el servidor en estado de sesión. El bit de estado de vista que aún se envía al cliente es solo un identificador que se utiliza para reconstituir el estado de vista original cuando la página se vuelve a publicar en el servidor.

Este artículo puede resultarle útil:
http://msdn.microsoft.com/en-us/library/ms972976. aspx

Solo una nota rápida al lado antes de optimizar el sitio, ¿ha optimizado el servidor asegurándose de que todos los archivos estén comprimidos antes de enviarlos?

Si no, esto te dará un buen impulso incluso antes de comenzar a jugar con la página.

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

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top