2017-08-07 61 views
2

我正在使用Asp.net核心網站,並在我的註銷鏈接中刪除所有當前的域cookie。 當我與Asp.net MVC工作我想這個代碼清除Asp.net核心中的所有cookies

string[] myCookies = Request.Cookies.AllKeys; 
foreach (string cookie in myCookies) 
{ 
    Response.Cookies[cookie].Expires = DateTime.Now.AddDays(-1); 
} 

此代碼不能在Asp.net核心工作。 如何清除Asp.net Core中的所有Cookie?

+1

嘗試使用'Response.Cookies.Delete(餅乾);' – Set

+0

我發現這個代碼_secureCookies.Remove(HttpContext的, 「用戶名」); 但我想清除所有Cookiies –

+0

我該如何使用__secureCookies.Remove();在foreach中找到所有的cookies? –

回答

0

試試這個:

//ASP.NET Core 
foreach (string cookie in myCookies) 
{ 
    Response.Cookies.Delete(cookie); 
} 
8

Request.Cookies是一個鍵值集合,其中的關鍵是一個cookie的名字。所以

foreach (var cookie in Request.Cookies.Keys) 
{ 
    Response.Cookies.Delete(cookie); 
} 

參見:

public abstract class HttpRequest 
{ 
    // Summary: 
    //  /// Gets the collection of Cookies for this request. /// 
    // 
    // Returns: 
    //  The collection of Cookies for this request. 
    public abstract IRequestCookieCollection Cookies { get; set; } 
    ... 
} 

IRequestCookieCollection

public interface IRequestCookieCollection : IEnumerable<KeyValuePair<string, string>>, IEnumerable