c# – 一种从WebApi中的HttpRequestHeaders中删除特定cookie的方
我正在尝试从ActionFilter的OnActionExecuted方法中删除HttpResponseHeaders中的特定Set-Cookie标头.
我遇到的问题很少: >我看不到枚举头的方式.这个系列总是如此 目前我正在删除所有cookie,但这不是我想要的. public override void OnActionExecuted(HttpActionExecutedContext actionExecutedContext) { HttpResponseHeaders headers = actionExecutedContext.Response.Headers; IEnumerable<string> values; if (headers.TryGetValues("Set-Cookie",out values)) { actionExecutedContext.Response.Headers.Remove("Set-Cookie"); } base.OnActionExecuted(actionExecutedContext); } 解决方法
从
link:
那么,如何在动作过滤器级别删除/删除ASP.NET Web Api中的cookie,只需尝试将cookie的过期日期设置为过去的日期: public override void OnActionExecuted(HttpActionExecutedContext actionExecutedContext) { var response = actionExecutedContext.Response; var request = actionExecutedContext.Request; var currentCookie = request.Headers.GetCookies("yourCookieName").FirstOrDefault(); if (currentCookie != null) { var cookie = new CookieHeaderValue("yourCookieName","") { Expires = DateTimeOffset.Now.AddDays(-1),Domain = currentCookie.Domain,Path = currentCookie.Path }; response.Headers.AddCookies(new[] { cookie }); } base.OnActionExecuted(actionExecutedContext); } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |