2016-08-05 9 views
1

私はHome -controllerでコードを次ていますなぜ私はクッキーを削除できませんか?

public ActionResult MyPage() 
{ 
    if (HttpContext.Request.Cookies["User"] == null) 
    { 
     //Create cookie 
     return RedirectToAction("MyPage", "Home"); 
    } 
    else 
    { 
     string User = HttpContext.Request.Cookies["User"].Value; 
     foreach (var user in Data.MyUsers) 
     { 
      if (user.username == User) 
      { 
       //Do some stuff 
       return View("MyPage"); 
      } 
     } 
     HttpContext.Request.Cookies.Remove("User"); 
     //HttpContext.Response.Cookies.Remove("User"); works not sorry ;(
     return RedirectToAction("MyPage", "Home"); 
    } 
} 

問題:アプリケーションアプリケーションは、ユーザーが見つからないため、クッキーを削除する(なぜ今まで)とループ内で実行しないでくださいデータ。

質問:私の別のプロジェクトでうまくいけば、私はこの問題をどのように修正できますか?問題は解決しましたか?新しいプロジェクトで他のプロジェクトのコードをコピーして貼り付けましたが、新しいプロジェクトでは機能しません。はい、私はasp.netフレームワークの同じバージョンを使用:)

は、私はC#のについての私のノウハウの終わりだ...あなたは私を助けることを願って....

はどうもありがとうございました。

答えて

3

使用してプロパティを期限切れにし、それに負の値を設定する期限切れに行うことができ、この意志が、これはから削除されますあなたの言葉でクッキーすなわち満了しますクッキーリスト。

String cookieName = Request.Cookies["User"].Name; 
HttpCookie userCookie = new HttpCookie(cookieName); 
userCookie.Expires = DateTime.Now.AddDays(-1); 
Response.Cookies.Add(userCookie); 
+0

申し訳ありませんが、その – Yannik

+0

に動作しない。これは動作しますが、それはそれはこれを行うには正しい方法ではありません感じている... – Yannik

+0

私の経験と知識を1として、これは私が知っている唯一の方法です –

関連する問題