OutputCache kikapcsolása POST esetén

Ha OutputCachet használsz ASP.NET-ben az utólagos teljesítményfokozásra, akkor jobb ha tudod, hogy alapértelmezetten nem csak a GET-ek, hanem a POST-ok válaszait is gyorsítótárazza (ráadásul külön-külön, erről Gincsai Gábor barátom tudna mesélni). Ebben az a kellemetlen, hogy a PostBackjeid valójában semmilyen eseményt nem váltanak ki szerveroldalon: nem fut le a Page_Load, nem futnak a gombok eseménykezelői stb. Én ez ellen így védekezek:

 

    void Application_BeginRequest( object sender, EventArgs e )
    {
        if( Request.RequestType.ToUpper() != "GET" )
        {
            Response.Cache.SetNoServerCaching();
            Response.Cache.SetNoStore();
        }
    }

A Global.asax-ban feliratkozok minden bejövő kérésre, és ha az nem GET, akkor letiltom a válasz szerveroldali cache-elését, valamint kiküldöm a Cache-Control: no-store HTTP headert a biztonság kedvéért.



Dávid Zoltán

Dávid Zoltán Mérnök Informatikusként végeztem a BME-n, jelenleg webfejlesztéssel és gépi tanulással foglalkozom.

2009.07.22. 17:06:19 | Permalink | Hozzászólások: 0 | Tárgyszavak: ,


  • Az IIS log kigazolása

    Balássy György (MS RD, ASP.NET MVP, MCTS) Jól működő weboldal esetén az ember ritkán nézi a webszerver naplóját, hiszen a durva hibák úgyis megjelennek a Windows eseménynaplójában, a forgalmi statisztikákat pedig a Google Analytics adja közvetlenül. Ha viszont mégis bele kell kukkantani, jön az elszörnyedés, mi ez a sok szemét és hova bújt a lényeg? Íme néhány tipp a webkiszolgáló naplójának tisztán tartásához. Tovább »
  • A kivételek kevésbé ismert tulajdonságai

    Dávid Zoltán Mindenki ismeri a kivételeket (exception). Fejlesztés közben őket nézzük a konzolon, vagy a böngészők sárga oldalain. Ők mondják meg nekünk, hogy a ki által hívott milyen metódus hanyadik sorában van hiba. Végül a fejlesztési idő után, rossz gyakorlatként, legtöbbjüket lenyeljük egy catch blokkban, jobb esetben loggoljuk őket. Akkor is csak valamilyen Log.Write( ex.ToString() ) alakban. Ezekben a logokban gyakran fájdalmas megtalálni a ténylegesen kivételt dobó metódust, vagy osztályt. Nézegetjük a hosszú stack... Tovább »


Írja meg Ön is véleményét!


Hozzászólásokat csak regisztrált, bejelentkezett felhasználóktól tudunk elfogadni!

Hozzászólások