Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/307.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何通过C#代码删除外部站点cookie_C#_Asp.net_Asp.net Mvc 4_Cookies - Fatal编程技术网

如何通过C#代码删除外部站点cookie

如何通过C#代码删除外部站点cookie,c#,asp.net,asp.net-mvc-4,cookies,C#,Asp.net,Asp.net Mvc 4,Cookies,我有一个用于windows azure身份验证的身份验证页面,其中身份验证在…….上执行。。。。。。。。 成功验证后,我们将重定向到我们的站点 我们需要删除此url上生成的Cookie以便注销。任何机构都可以向我提供代码,通过该代码我们可以删除外部站点cookies 我们尝试使用以下代码删除,但未能成功 public void deleteallcookies() { int limit = Request.Cookies.Count; HttpCookie aCookie;

我有一个用于windows azure身份验证的身份验证页面,其中身份验证在…….上执行。。。。。。。。 成功验证后,我们将重定向到我们的站点

我们需要删除此url上生成的Cookie以便注销。任何机构都可以向我提供代码,通过该代码我们可以删除外部站点cookies

我们尝试使用以下代码删除,但未能成功

public void deleteallcookies()
{
    int limit = Request.Cookies.Count; 
    HttpCookie aCookie;   //Instantiate a cookie placeholder
    string cookieName;   

    //Loop through the cookies
    for(int i = 0; i < limit; i++)
    {
        cookieName = Request.Cookies[i].Name;    //get the name of the current cookie
        aCookie = new HttpCookie(cookieName);    
         aCookie.Value = "";    //set a blank value to the cookie 
        aCookie.Expires = DateTime.Now.AddDays(-1);    

        Response.Cookies.Add(aCookie);    //Set the cookie
    }
}
public void deleteallcookies()
{
int limit=Request.Cookies.Count;
HttpCookie aCookie;//实例化cookie占位符
字符串cookieName;
//在饼干中循环
对于(int i=0;i
您希望从响应而不是请求中获取cookie,即

cookieName = Response.Cookies[i].Name; 
您还可以稍微优雅地枚举,如下所示:

string[] myCookies = HttpContext.Current.Request.Cookies.AllKeys;
foreach (string cookieName in myCookies)
{
      var cookie = HttpContext.Current.Response.Cookies[cookieName];
      if (cookie != null)
      {
            cookie.Value = "";
            cookie.Expires = DateTime.Now.AddDays(-1);
      }
}

上述代码也不能删除外部站点cookies。通过此代码,我们只能删除我们的站点cookies。您不会认为您可以删除非您域的cookies。是否可以删除非我们域的cookies?想想看,这将是一个相当大的安全漏洞