2011-01-05 9 views

Antwort

1

Sie können jederzeit auf diese Dinge über

System.Web.HttpContext.Current.Request 

System.Web.HttpContext.Current.Response 

HttpContext Class und die Current Property

kapselt alle HTTP-spezifische Informationen über eine Person HTTP-Anforderung.


und einige Cookie-Wert auf Ihrer Website zu verwalten Ich würde eine Basepage Klasse, die alle Ihre Seiten geerbt von und tun es die Kontrollen vorschlagen, entweder erstellen:

public class BasePage : System.Web.UI.Page 
{ 
    protected override void OnPreRender(EventArgs e) 
    { 
     UpdateCookie(); 
     base.OnPreRender(e); 
    } 
} 

das gleiche tun in Ihre Masterpage:

public class SiteMasterPage : MasterPage 
{ 
    protected override void OnPreRender(EventArgs e) 
    { 
     UpdateCookie(); 
     base.OnPreRender(e); 
    } 
} 

public static void UpdateCookie() 
{ 
    HttpContext context = System.Web.HttpContext.Current; 
    HttpCookie cookie = context.Response.Cookies.Get("Update") 
     ?? new HttpCookie("Update");   

    int value = 0; 
    int.TryParse(cookie.Value, out value); 
    value++; 

    cookie.Expires = DateTime.Now.AddDays(30); 
    cookie.Value = value.ToString(); 
    context.Response.Cookies.Set(cookie); 
} 
+0

Danke! Was ist das Äquivalent von onPreRender für WCF-Dienste? Einige Javascript wird einige Dienste aufrufen, und ich werde den Cookie-Inhalt vor jedem Aufruf überprüfen. – LamonteCristo

1

Verwendung HttpContext.Current.Request und HttpContext.Current.Response

0

Verwenden Sie den vollständigen Namensraum:

System.Web.HttpContext.Current.Request 

System.Web.HttpContext.Current.Response 

- oder -

using System.Web.HttpContext.Current; 

Dann sollten Sie in der Lage sein, Zugriff auf Request/Response in Ihrer Klasse

+0

mit System.Web.HttpContext.Current; funktioniert nicht, AFAIK. – Greg

0

Es gibt mehrere Möglichkeiten, dies zu tun. Andere haben erwähnt, dies mit System.Web.HttpContext.Current zu tun, aber ich denke (raten von was ich denke, Ihre Absicht ist), dass dies auf eine Methode, die beim Laden auf Ihren Masterseiten läuft, eine bessere Idee ist.