2009-08-03 12 views
1

Ich habe diese Dienstprogrammklasse geschrieben, um HttpCookies zu speichern und abzurufen.ASP.NET HttpCookie Hilfsklasse

Es scheint nicht zu funktionieren, das heißt Cookie ist nicht abgerufen werden ...

public class AspNetUtil 
    { 
     private Page _page = null; 

     public AspNetUtil(Page page) 
     { 
      _page = page; 
     } 

     public bool SaveInCookie(string cookieName, string valueKey, string valueToBeStored, int expiryTimeInMinutes) 
     { 
      bool success = false; 

      try 
      { 
       HttpCookie cookie = null; 

       if(_page.Request.Cookies[cookieName] == null) 
       { 
        cookie = new HttpCookie(cookieName); 
       } 
       else 
       { 
        cookie = _page.Request.Cookies[cookieName]; 
       } 

       cookie.Values.Add(valueKey, valueToBeStored); 

       cookie.Expires = DateTime.Now.AddMinutes(expiryTimeInMinutes); 

       _page.Response.Cookies.Add(cookie); 
      } 
      catch(Exception ex) 
      { 
       success = false; 

       throw ex; 
      } 

      return success; 
     } 

     public string GetCookieValue(string cookieName, string valueKey) 
     { 
      string cookieValue = string.Empty; 

      try 
      { 
       cookieValue = (string)_page.Response.Cookies[cookieName].Values[valueKey]; 
      } 
      catch (Exception ex) 
      { 
       cookieValue = string.Empty; 
       throw ex; 
      } 

      return cookieValue; 
     } 
    } 

Kann mir jemand sagen, was das Problem sein kann?

+1

_What_ funktioniert nicht in der GetCookieValue Funktion "Request" sein? Bitte sei expliziter. –

+0

Cookie wird nicht abgerufen. –

Antwort

5

Ich denke, Ihre "Antwort" sollte

+0

Die Änderung der Antwort auf die Anforderung gibt die Nullreferenz Exception. –

+1

Stellen Sie sicher, dass die Request-Cookie-Sammlung diesen Schlüssel zuerst enthält ... Wenn der Schlüssel nicht vorhanden ist, ist das Cookie, auf das der Schlüssel zugreift, null. Daher wird der Wert Nullzeigerausnahme – jkelley

+0

sein Hilfreich, um es in den Debug-Modus zu versetzen und eine Überwachung des Cookies vorzunehmen, um herauszufinden, wie die zugewiesenen Werte gespeichert sind. – jkelley

Verwandte Themen