ViewState compresie met BZip2...last prototype... (Nederlands (Dutch))

ViewState compresie met BZip2...last prototype...

Sunday, 29 February 2004

//

2 minute read

Dit is een eerste stap., gebruikt een paar klassen die ik in een ander project gebruikte. Sharpziplib dingen - met wat aanpassingen - Ik' zal de commentaarheaders terug plakken om later te voldoen aan de Licentie-dingen - nu slechts een voorbeeld te nemenM SK4 de code om het viewstate te comprimeren is heel simpelMSC5

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);
        }
    }
}

Om het te gebruiken, gewoon erf van deze pagina in plaats van het normale systeem.WebMSC2UIM SK3PageMST4 Uiteraard verlies je sommige van de normale ViewState-functies zoals versleuteling MST5 maar dit zou makkelijk kunnen terugspaten inMst6 Ik zie momenteel behoorlijk veel spaargeld in ViewStates-grootte door gebruik te maken van dit MSt7 met BZipM st8 compressie mSt9 zoals het isM St10 is een stukje code waarover ik logen hadMt11 probeer het maar uitMstr12 Alle opmerkingen |MSt13 | suggesties zijn | mSt14 | zoals altijd | MSt15 | waardeerd |mSt16 |

I' heb een Een testproject om met dit te spelen. Het heeft alles wat nodig is.

UPDATE: We zijn net wat testen aan het doen met dit... als voorbeeldM SK2 met behulp van een DataSet gepopulat uit "Select * Van Opdragen" van de Northwind DB gebonden aan een standaard DataGrid Ik heb dit gekozen om het meest porkiest mogelijk te zijnM SK3 Ik ga van 659984 grepen in mijn aansigten naar 52080 grevenMSC6 een spaar van ongeveer m92% M- waarvan ik denk dat het erg indrukwekkend is! Ik' ben er zeker van dat er een aantal nadelen zijn aan dit\MST11\behalve de paar extra cycli die nodig zijn voor de compression\Mst12\ \M st13\ maar is er een echte reden waarom MS geen compressie-optie geeft voor ViewState out\MSt14\of\Mstr15\de\Mt16\box\Mts17\ iemand\MTS18\

UPDATE: OK, voor degenen die de code kritiek hebben gedaan ' dit is een prototype M SK4 alleen om het idee te testen , Ik plan er een beetje meer mee te spelen op een bepaald moment en zal kijken naar wat funky features zoals Denis Bauer's ViewState viewer Gebouwd-in, verschillende compressionssystemen , verschillende encryptie M SK3 inclusief de ongelooflijk efficiënte Tweevissen- kortom zal het een spelletje zijn om naar de huidige ViewState-implementatie te kijken en uit te breiden.

Finding related posts...
logo

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