Comprimir ViewState em Paginas de SharePoint
Um dos grande desafios dos desenvolvedores é a capacidade de reduzir o tamanho das paginas ao mínimo com a informação estritamente necessária, tendo a ViewState como função de persistir o estado e conteúdos da paginas para realizar um postback e retornar os valores que pretendemos, de uma maneira segura e encriptada.
Neste artigo prentendo utilizar os Metodos recomendados pela Microsoft para realizar a compressão das paginas de Sharepoint.
Understanding ASP.NET View State
Validar tamanho da "ViewState" em Paginas Default SharePoint
Para verificar o tamanho da View State, das paginas por defeito
Feito, agora abri-mos a paginas, no "Internet Explorer>View>Source" e procurar a variavel "VIEWSTATE".
Código para compressão da "ViewState"
Para realizar a compressão é necessário criar uma "class" onde se derivam as Metodos para as Páginas de SharePoint.
Para comprimir a viewState é necessário derivar das seguintes 2 Classes:
using Microsoft.SharePoint.WebPartPages;
.....
public class CustomWebPartPage : WebPartPage
OU
using Microsoft.SharePoint.Publishing;
.....
public class CustomPublishingLayoutPage : PublishingLayoutPage
Em anexo ficar o ficheiro "CustomWebPartPage.cs"
Para compilar é necessário criar uma "Strong Name Key" e criar uma DLL.
Após a DLL ser criada será necessário registar na GAC, "c:\WINDOWS\assembly" e adicionar a nova Tag como SafeControl na Web.Config.
Para substituir as referencias as Paginas de Sharepoint, podemos abrir o SharePoint Designer e substituir as referencias das páginas de SharePoint para as nossas novas Classes.
Inherits="Microsoft.SharePoint.Publishing.PublishingLayoutPage, Microsoft.SharePoint.Publishing, Version=12.0.0.0, Culture....."
e alterar para a nova referencia.
Feito, agora abri-mos a pagina de SharePoint, e no Internet Explorer selecionar a opção "View>Source" pesquisa pela variável "COMPRESSEDVIEWSTATE".
A compressão da "ViewState" pode chegar a 20% do tamanho original, o que representa um ganho significativo de tráfico de Internet, isso é óptimas noticias. J
Menos Tráfico significa mais rapidez, mas obriga a um aumento do processador para compressão e descompressão do seu conteúdo, NADA É GRATIS.
Existe outras boas práticas recomendadas pela Microsoft para tirar maior performance das nossas paginas de conteúdos.
How to Optimize a SharePoint Server 2007 Web Content Management Site for Performance
Feito, toca a comprimir a nossas ViewStates e diminuir o tamanho da nossas páginas.
Espero que tenham gostado, um grande abraço. J
2 comments:
Outra hipótese é usar o SessionPageStatePersister, seja através do override da propriedade PageStatePersister da classe Page ou através de um page adapter.
Sempre a aprender, um abraço.
Post a Comment