Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/33.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_.net_Cookies_Asp.net Web Api - Fatal编程技术网

C# 如何删除托管环境中的cookie,我在本地环境中工作?

C# 如何删除托管环境中的cookie,我在本地环境中工作?,c#,asp.net,.net,cookies,asp.net-web-api,C#,Asp.net,.net,Cookies,Asp.net Web Api,我正在使用Web api,AngularJS作为前端,我在本地环境中开发了一个应用程序,在本地一切正常。但今天我不得不在服务器上托管我的应用程序,我突然无法删除我可以在本地执行的cookie: public virtual HttpResponseMessage UnAuthenticate() { if (HttpContext.Current.Request.Cookies["sessionId"] != null) { HttpCookie cookie =

我正在使用Web api,AngularJS作为前端,我在本地环境中开发了一个应用程序,在本地一切正常。但今天我不得不在服务器上托管我的应用程序,我突然无法删除我可以在本地执行的cookie:

public virtual HttpResponseMessage UnAuthenticate()
{
    if (HttpContext.Current.Request.Cookies["sessionId"] != null)
    {
        HttpCookie cookie = HttpContext.Current.Request.Cookies["sessionId"];
        cookie.Expires = DateTime.Now.AddDays(-1);
        HttpContext.Current.Response.Cookies.Add(cookie);
    }
    HttpRuntime.Cache.Remove("cacheToken");
    return null;
}
我做错了什么

更新

它在IE中工作,但在Chrome中失败。

试试这个

public virtual HttpResponseMessage UnAuthenticate()
{
    HttpCookie cookie = HttpContext.Current.Response.Cookies["sessionId"];
    if (cookie != null)
    {
        cookie.Expires = DateTime.Now.AddDays(-1);
    }
    return null;
}

使用Response.SetCookie而不是Cookies.Add。请阅读此内容进行比较。此答案似乎有助于: