Variera OutputCache beroende på sökvägens mapp

Jag har undrat ett tag över hur man kan basera OutputCache beroende på vilken mapp en sida ligger i, och nu kom jag på en lösning.

I mitt fall var det några User Controls som jag ville ha separata Cache-versioner av i varje mapp i applikationen. Först lade jag till följade deklaration på dessa:

<%@ OutputCache Duration="1800" VaryByParam="none"  VaryByCustom="CustomFolder"  %>

Sen overridade jag GetVaryByCustomString i Global.asax som man ska göra om man vill använda VaryByCustom.

public override string GetVaryByCustomString(
HttpContext context,
string arg)
    {
        string result = String.Empty;

        if (arg == "CustomFolder")
        {
            //object o = HttpContext.Current.Request.Path;<--This also gets the file name
           
            //Get the current folder, without the file name
            object o = HttpContext.Current.Request.Path.Substring(0,HttpContext.Current.Request.Path.LastIndexOf("/"));
            if (o != null)
            {
                result = o.ToString();
            }
        }
        else
        {
            result = base.GetVaryByCustomString(context, arg);
        }

        return result;
    }

Raden där den aktuella mappen hämtas ut blev lite lång och krånglig. Ville alltså ha bara mappen och inte filnamnet. Läste här att man kan använda Page.TemplateSourceDirectory, men kunde inte komma åt en referens till Page från Global.asax, eller hitta en motsvarande funktion i HttpContext.

Comments

thanks for sharing a amazing post with us. http://www.onlinepromotionuae.ae

You don’t have to worry about your computer issues you just have to call our toll free 0800-098-8371 Number UK. Toshiba support number UK Toshiba help number UK

Hi, Thanks for the sharing nice posting with us. i’m really impressed. Dell printer support number

yes man, its a very useful article. i tried it on my sites. its work. thank you so much AVG helpline phone number

This is outstanding and great post! i really like it. thank you so much. AVG virus removal

Hi, Thanks for the sharing nice posting with us. i’m really impressed. Dell Printer Helpline

Very very nice post.. Lexmark printer helpline

Very Very nice post. its a very useful and outstanding article. Thanks for that.

Hp printer support

Hp printer Helpline

Great Post. Software Support

Det här är den information jag behöver hitta. Jag fick reda på det bara på morgonen och vet inte varför. Det här inlägget hjälper mig mycket. www.hotmail.com Tack för att du delar.

Please fill out all the fields.

*
*