1

私はc#とmvcを使用しています。ユーザーのブラウザにCookieを書き込もうとしています。しかし、ブラウザを更新すると、Cookieは消えます。

これは、Cookieを作成するための私のコードです。

 movieCookie = new HttpCookie(cookieName);
 movieCookie.Value = "test;
 movieCookie.Expires = DateTime.Now.AddDays(30);
 //add the cookie 
 HttpContext.Current.Response.Cookies.Add(movieCookie);

そしてクッキーを読むためのもの:

//check if such cookie exist
HttpCookie movieCookie = null;
if (HttpContext.Current.Request.Cookies.AllKeys.Contains(cookieName))
    movieCookie = HttpContext.Current.Request.Cookies[cookieName];

追加するもう1つのことは、「AllKeys」を次のように検索したときです。

HttpContext.Current.Request.Cookies.AllKeys

何らかの理由で、空の文字列配列が表示されます。何か案は?

4

2 に答える 2

1

ばかげているかもしれないいくつかの質問

  • Web サーバーの時刻と日付を確認し、それらが正しく設定されているかどうかを確認します。(あなたの場合) 2 年経過している場合、Cookie はすぐに期限切れになります。

  • cookieName が同じであることを確認します

  • Cookie を応答に設定した後、Cookie が設定される前にリダイレクトされないことを確認します。Cookie を設定するには、ヘッダーを設定してプッシュする必要があります。

于 2012-07-24T12:45:49.430 に答える
0

私はそれを解決しました。MVC では、Cookie の作成後に「ビューを返す」と、Cookie が保存されないようです。

于 2012-07-27T04:34:43.010 に答える