This is a viewer only at the moment see the article on how this works.
To update the preview hit Ctrl-Alt-R (or ⌘-Alt-R on Mac) or Enter to refresh. The Save icon lets you save the markdown file to disk
This is a preview from the server running through my markdig pipeline
Sunday, 29 February 2004
Gewoon een eerste steek op dit, gebruikt sommige klassen die ik gebruikt in een ander project (Ik zal de compressie code later toe te schrijven ... Ik geloof dat ik het kreeg van de Sharpziplib spullen - met een aantal wijzigingen - Ik zal de commentaar headers terug te steken om te voldoen aan de Licentie spullen later - op dit moment beschouw het als een voorbeeld alleen) de eigenlijke code om de viewstate comprimeren is ZEER eenvoudig:
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 erven van deze pagina in plaats van het normale systeem.Web.UI.Page. Uiteraard verlies je een aantal van de normale Viewstate functies zoals encryptie - maar deze moeten gemakkelijk te slot terug in...Ik zie momenteel vrij grote besparingen in ViewState grootte van het gebruik van deze - met behulp van BZip2 compressie - als het is een stuk code die ik had liggen over..., probeer het uit. Alle opmerkingen / suggesties zijn, zoals altijd, gewaardeerd.
Ik heb een testproject om hiermee te spelen , het is VS.NET 2003, het heeft alles wat nodig is (inclusief de compressie spul).
UPDATE: Ik heb hier net wat testen mee gedaan...als voorbeeld, met behulp van een DataSet bevolkt uit "Selecteer * Van Orders" van de Northwind DB gebonden aan een standaard DataGrid (ik koos voor dit om de meest mogelijke porkie te zijn ...), Ik ga van 659984 bytes in mijn visie staat tot 52080 bytes...een besparing van ongeveer 92% - die ik denk dat is vrij indrukwekkend! Ik ben er zeker van dat er enkele nadelen aan deze (naast de paar extra cycli nodig voor de compressie) - maar is er een echte reden waarom MS geen compressie optie voor ViewState out-of-the-box - iemand????
UPDATE: OK, voor degenen die kritiek hebben op de code...dit is een PROTOTYPE - gewoon om het idee te testen, Ik ben van plan om te spelen met dit een beetje meer op een bepaald punt en zal kijken naar met inbegrip van een aantal funky functies zoals Denis Bauer's ViewState viewer ingebouwde, verschillende compressiesystemen, verschillende encryptie - inclusief de ongelooflijk efficiënte Tweevis- kortom het zal een speeltje voor mij zijn om naar te kijken en de huidige ViewState implementatie uit te breiden.
© 2026 Scott Galloway — Unlicense — All content and source code on this site is free to use, copy, modify, and sell.