Avatar billede chrede Nybegynder
05. juni 2004 - 10:04 Der er 18 kommentarer og
1 løsning

hvordan beder man browseren om ikke at cache en side i ASP.NET?

hvordan beder man browseren om ikke at cache en side i ASP.NET?
Avatar billede brianv Nybegynder
05. juni 2004 - 10:22 #1
Hejsa, jeg bruger tit den her lille samling:

            With System.Web.HttpContext.Current.Response
                .Cache.SetCacheability(HttpCacheability.NoCache)
                .Cache.SetExpires(Now())
                .AddHeader("cache-control", "no-store")
                .AddHeader("Pragma", "no-cache")
                .Expires = 0
            End With
Avatar billede chrede Nybegynder
05. juni 2004 - 10:25 #2
Smider du den i CODE-Behind filen under page_load eller hvor?

Har du evt. koden i c# ?
Avatar billede brianv Nybegynder
05. juni 2004 - 10:30 #3
private void Page_Load(System.object sender,  System.EventArgs e)  base.Load {

            System.Web.HttpContext.Current.Response.Cache.SetCacheability(HttpCacheability.NoCache);
            System.Web.HttpContext.Current.Response.Cache.SetExpires(Now());
            System.Web.HttpContext.Current.Response.AddHeader("cache-control", "no-store");
            System.Web.HttpContext.Current.Response.AddHeader("Pragma", "no-cache");
            System.Web.HttpContext.Current.Response.Expires = 0;

    }
Avatar billede nielsbrinch Nybegynder
05. juni 2004 - 10:33 #4
Response.Cache.SetNoServerCaching();
Response.Cache.SetCacheability(HttpCacheability.NoCache);

Der er flere metoder under Response.Cache du kan lege med, for at finjustere lige præcis den mængde caching du skal have til dit site.
Avatar billede chrede Nybegynder
05. juni 2004 - 10:34 #5
brianv hvor ligger Now() i frameworket? jeg kan ikke kalde den metode?
fejl: The name 'Now' does not exist in the class or namespace
Avatar billede nielsbrinch Nybegynder
05. juni 2004 - 10:35 #6
Hov, jeg havde ikke set andre havde svaret.

brianv, følgende er det samme:

System.Web.HttpContext.Current.Response.AddHeader("cache-control", "no-store");
System.Web.HttpContext.Current.Response.Cache.SetCacheability(HttpCacheability.NoCache);
Avatar billede nielsbrinch Nybegynder
05. juni 2004 - 10:35 #7
DateTime.Now
Avatar billede brianv Nybegynder
05. juni 2004 - 10:38 #8
så er der en opdateret:

private void Page_Load(object sender,  EventArgs e)  {
            System.Web.HttpContext.Current.Response.Cache.SetCacheability(HttpCacheability.NoCache);
            System.Web.HttpContext.Current.Response.Cache.SetExpires(DateTime.Now);
            System.Web.HttpContext.Current.Response.AddHeader("cache-control", "no-store");
            System.Web.HttpContext.Current.Response.Expires = 0;
    }
Avatar billede chrede Nybegynder
05. juni 2004 - 10:39 #9
jeg synes du har fjernet: System.Web.HttpContext.Current.Response.AddHeader("Pragma", "no-cache");
Avatar billede brianv Nybegynder
05. juni 2004 - 10:39 #10
ups, lille fejl.... brug den her:

private void Page_Load(object sender,  EventArgs e)  {
          System.Web.HttpContext.Current.Response.Cache.SetCacheability(HttpCacheability.NoCache);
            System.Web.HttpContext.Current.Response.Cache.SetExpires(System.DateTime.Now);
            System.Web.HttpContext.Current.Response.AddHeader("Pragma", "no-cache");
            System.Web.HttpContext.Current.Response.Expires = 0;

    }
Avatar billede brianv Nybegynder
05. juni 2004 - 10:40 #11
skumle ting sker, når man er for hurtig, på knapperne... :D
Avatar billede chrede Nybegynder
05. juni 2004 - 10:40 #12
hehe.. er det med vilje du har fjernet en linie?
Avatar billede nielsbrinch Nybegynder
05. juni 2004 - 10:41 #13
Nej undskyld brianv, jeg læste simpelthen forkert. Jeg tog fejl :-( det var ikke det samme alligevel ...
Avatar billede brianv Nybegynder
05. juni 2004 - 10:41 #14
yes, nielsbrinch mener at
System.Web.HttpContext.Current.Response.AddHeader("cache-control", "no-store");
System.Web.HttpContext.Current.Response.Cache.SetCacheability(HttpCacheability.NoCache);

de to ting er ens, og det må jeg give ham ret i!!
Avatar billede brianv Nybegynder
05. juni 2004 - 10:42 #15
arrrrrrrrrrrrrrrrrrrrrr
Avatar billede brianv Nybegynder
05. juni 2004 - 10:42 #16
det går rigtigt godt idag.... :P
Avatar billede nielsbrinch Nybegynder
05. juni 2004 - 10:42 #17
men det er fordi .net-måden at sætte no-store på er med
Response.Cache.SetNoStore();

men det gør vitterligt ingen som helst forskel.
Avatar billede brianv Nybegynder
05. juni 2004 - 10:43 #18
version 1.0 ::::
private void Page_Load(object sender,  EventArgs e)  {
            System.Web.HttpContext.Current.Response.Cache.SetCacheability(HttpCacheability.NoCache);
            System.Web.HttpContext.Current.Response.Cache.SetExpires(System.DateTime.Now);
            System.Web.HttpContext.Current.Response.AddHeader("Pragma", "no-cache");
            System.Web.HttpContext.Current.Response.AddHeader("cache-control", "no-store");
            System.Web.HttpContext.Current.Response.Expires = 0;
}
Avatar billede chrede Nybegynder
05. juni 2004 - 10:49 #19
er det 05/06-2004 10:43:31 jeg skal bruge??

hehe :-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester