Architektúra Fórum – reloaded milestone I.

Lassan letelt egy év mióta utoljára írtam ide. Nézzük csak, mi minden történt, előrébb jutottunk-e valamivel álmaink, vágyaink közül.

Először is köszönöm mindekinek, aki privátban írt. Örömmel vettem, hogy még ennyien emlékeznek a sorozatra, és (legalábbis akik vették a fáradtságot, hogy írjanak) pozítivan tették ezt a sok elmúlt év távlatából is. A felvetésekre válaszolva azt próbáltam kutatni, mi a ‘secret sauce’, mi volt az, ha egyáltalán volt ilyen, ami egyedivé, különlegessé tette a Fórumot. Nem, még nincs meg, de keressük.

Viszont egy másik fontos dolog – a segítség. Köszönjük eddig is és ezekután is uid0-nak a hostingot, és pandastic.me –nek a gyönyörű design-t.

Viszont a további lépésekhez újra segítséget kell kérnem – jelen esetben amire szükség van, az egy sitebuild 🙂 Aki kéztetést érez arra, hogy segítsen, az a peter dot smulovics at gmail dot com –n ne habozzon jelentkezni.

 

Mielőtt valaki kérdezné (már kérdezte) – igen, egyszerübb és gyorsabb lenne, ha valamelyik cég felkarolná ezt; de ilyet már többet láttunk ami nem jó véghez vezetett. Úgyhogy továbbra is előre a függetlenségért, éljen a crowdsource.

Architektúra Fórum – reloaded?

Tervezz, építs, hass! 

Mi is ez? Az architektúra fórum egy lehetőség arra, hogy megismerkedjen az architektúra világával és újdonságaival. Megvizsgáljuk az eszközöket, megismerjük a kihívást, merünk a mélyvízbe ugrani, megismerkedünk a szoftver-architektúra témakör elemeivel. Fókuszaink olyanok, mint analízis, követelmények, minták és hasonlók. Legyen az architektúra közösség tagja, jelentkezzen közénk, és vegyen részt személyes találkozóinkon is!

Igen, jól olvastátok. A terv az, hogy újjáéled, mégha kicsit esetleg más formában is. Ehhez viszont a segítségeteket kérem: írjátok meg commentbe vagy privátba ( peter pont smulovics kukac gmail pont com), mi volt jó régen az architektúra fórumban, mit változtatnátok rajta…

És persze, ha szponzorálnátok a dolgot, vagy előadnátok, akkor is jelentkezzetek 🙂

Azok számára, akik szemtelenül fiatalok, mi is volt az architektúra fórum? Ma azt mondanánk rá, hogy MeetUp vagy User Group. Akkor ezeket a szavakat még nem is ismertük, a BPNT még csak izgalmas, kéjes ötletként jelent meg, szóval valahol ez volt a úttörő rendezvény 🙂 Összejöttünk, beszélgettünk, előadásokat tartottunk, nyereményeket sorsoltunk ki, könyvvásárt tartottunk, szép projektorokat és lapostévéket bámultunk, finom sütiket ettünk, szünetben átfutottuk az osztogatott újságokat, a kedves hostess-lányok tették a dolgukat, mosolyogtunk a videókon…

Szóval ide alulra vagy a fenti címre várom az ötleteket – hogyan tovább?

How to put ControlState into ViewState and how to put ViewState into session

It’s a common problem, that your viewstate is bloating up under heavy usage (complex data editing scenarios with multiple grids enabling editing, etc). ASP.Net 2.0 comes up with a handy solution for such cases by letting you easily redefine your PageStatePersister in your page with (under .NET 1.0/1.1 this could be done using LoadPageStateFromPersistenceMedium and SavePageStateToPersistenceMedium):

    protected override PageStatePersister PageStatePersister
    {
        get
        {
            return new SessionPageStatePersister(this);
        }
    }

After changing this (and applying a custom base page for all my pages with:

 
<pages pageBaseType=”PageBase” />
 

for this to work it is needed to derive all your aspx pages from that page!)

I got the result from ~3500 viewstate bytes to ~1500 viewstate bytes. But what can I do with that 1500 bytes? What is in it? I started ViewStateDecoder 2.1, and checked into it, what I saw was surprising: all usual viewstate data was wiped out, but there were still the controlstate! So it’s not the same as the PersistanceMedium calls as they were formerly… How to get rid of that 1500 byte? After using the Reflector a bit I found out, that all depends on a browser capatibility called RequiresControlStateInSession, when it’s set to true, than the controlstate is persisted into the session as well. Last question was: how to let the system know, that my browser has the RequiresControlStateInSession capatibility? It’s easy with the new syntax for browserCaps:

  <system.web>
    <browserCaps>
      <case>
        RequiresControlStateInSession=true
      </case>
    </browserCaps>
  </system.web>

And the day is saved, now I have a viewstate of a 57 bytes, which contains a pair of a boolean and an ID 🙂