2009-08-03 6 views
1

HttpCookiesを保存および取得するために、このユーティリティクラスを作成しました。ASP.NET HttpCookieヘルパークラス

それは動作していない、すなわち、クッキーが取得されていないようです...

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; 
     } 
    } 

誰もが問題になることができるかを教えてもらえますか?

+1

_What_は機能していませんか?もっと明示してください。 –

+0

Cookieが取得されません。 –

答えて

5

あなたの "レスポンス"はGetCookieValue関数の "Request"になるはずです

+0

Requestへの応答を変更すると、null参照Exceptionが返されます。 –

+1

リクエストクッキーコレクションに最初にそのキーが含まれていることを確認します。キーがない場合、キーによってアクセスされたクッキーはnullになるため、その値を取得するとNULLポインタ例外が発生します – jkelley

+0

また、これをデバッグモードにして、クッキーを監視して、割り当てられた値がどのように格納されるかを調べるのに役立ちます。 – jkelley

関連する問題