如何在OwinMiddleware和.Net MVC 5中使用IOwinContext删除cookie?

时间:2018-11-07 10:25:10

标签: c# asp.net-mvc cookies owin middleware

是否有可能基于OwinMiddleware中的cookie名称删除cookie?

我知道IOwinContext具有基于Set-Cookie标头的cookie抽象,而HttpContext具有其HttpCookieCollection。在我的中间件中,我无法访问HttpContext,因此无法设置:Response.Cookies["userId"].Expires = DateTime.Now.AddDays(-1);

我尝试使用IOwinContext执行以下操作: Context.Response.Cookies.Delete("userId"); Context.Response.Cookies.Append("userId", ""); 但这不起作用。

有任何可行的示例如何实现我的目标? 非常感谢您的帮助和提示。

1 个答案:

答案 0 :(得分:0)

好吧,这是我的错,因为我试图删除具有不同域的cookie。

这段代码解决了问题:

Context.Response.Cookies.Delete("userId", new CookieOptions
                    {
                        Domain = "DomainName"
                    });