ViewState compression using BZip2...latest prototype... (Italiano (Italian))

ViewState compression using BZip2...latest prototype...

Sunday, 29 February 2004

//

2 minute read

Solo un primo scherzo su questo, usa alcune classi che ho usato in un altro progetto (IM SK2attribuirò il codice di compressione più tardi ...Credo di averlo preso dal Sharpziplib roba - con alcune modificazioni - io' rimetterò indietro i titoli dei commenti per rispettare la roba della licenza più tardi - ora considerate solo un esempioM SK4 il codice reale per comprimere il viewstate è molto sempliceMSC5

using System;
using System.Web.UI;
using System.IO;
namespace ViewStateCompression
{
    /// 
    /// Summary description for CompressedVSBasePage.
    /// 
    public class CompressedVSBasePage :System.Web.UI.Page
    {
        private LosFormatter  _formatter = new LosFormatter();
        protected override void SavePageStateToPersistenceMedium(object viewState)
        {
            StringWriter sw = new StringWriter();
            _formatter.Serialize(sw, viewState);
            ComDePress cmp = new ComDePress();
            string outStr = cmp.Compress(sw.ToString());
            Page.RegisterHiddenField("__COMPRESSEDVIEWSTATE",outStr);
        }
        protected override object LoadPageStateFromPersistenceMedium()
        {
            string vsString = Request.Form["__COMPRESSEDVIEWSTATE"];
            string outStr = new ComDePress().DeCompress(vsString);
            return _formatter.Deserialize(outStr);
        }
    }
}

Per usarlo, solo ereditare da questa pagina invece del sistema normale .Web.UIMSC3PageM SK4 Ovviamente si perdono alcune delle funzioni normali dello stato di vista come l'criptazione MST5 ma queste dovrebbero essere facili a spostare in SST6Sono in questo momento vedendo grandi risparmi nella dimensione di ViewState dall'uso di questo MST7 usando BZipMSST8 compressione MSST9 così come è ESST10 è un pezzo di codice che avevo mentito sullo USST11 per favore provatelaUSSST12 Tutti i commenti USSST13 le sue proposte sono usSST14 come sempreUSsST15 apprezzateUS SST16

I' ho fatto una Il progetto di prova per giocare con questo. , it's VSM SK2NET 2003, ha tutto ciò che è necessario (incluendo la roba di compressioneMSC5

UPDATE: Sto facendo qualche test con questoM SK1come esempio, usando un DataSet popolato da MSC3Select * Dalle ordinazioni" della Northwind DB collegata ad un DataGrid predefinito l'ho scelto per essere il più sottile possibileM SK3 Vado da 659984 byte nelle mie visuali scendere a M52080 bytesMSC6 un risparmio di circa R92% D- che credo sia abbastanza impressionanteMNK9 IoMMK10 sono sicuro che ci siano alcuni difetti a questo (a parte i pochi cicli aggiuntivi necessari alla compressione) - ma c'è qualche ragione reale per cui la MS non dà un'opzione di compressioni per ViewState fuoriMS-diM-la boxe P-MM- chiunqueM???

UPDATE: OKM SK1 per quelli che' hanno criticato il codice ... questo è un PROTOTYPE MSC4 solo per testare l'ideaMST5 Ho intenzione di giocarci con questo un po' più ad un certo punto e vedrò includere alcune caratteristiche funky come Denis Bauer's ViewState viewer costruita-inM SK1 diversi sistemi di compressione, diversi encryption MSC3 compresa l'incredibile efficienza Due pesci- in breve, sarà un giocattolo per me per osservare e estendere la implementazione attuale ViewState.

Finding related posts...
logo

© 2026 Scott Galloway — Unlicense — All content and source code on this site is free to use, copy, modify, and sell.