Tôi đang cố gắng xóa tiêu đề cụ thể Set-Cookie
từ HttpResponseHeaders
trong phương thức OnActionExecuted
ActionFilter
.Cách để xóa cookie cụ thể khỏi HttpRequestHeaders trong WebApi
Tôi đang gặp vài vấn đề với điều đó:
- Tôi không thể nhìn thấy con đường của tiêu đề enumerate. Bộ sưu tập luôn là trống, ngay cả khi tôi thấy tiêu đề trong trình gỡ lỗi.
- Vì tôi không thể liệt kê, tôi không thể xóa tiêu đề cụ thể. Tôi chỉ có thể xóa tất cả các tiêu đề có cùng khóa, nhưng
Set-Cookie
có thể có nhiều mục nhập .
Hiện tại tôi đang xóa tất cả cookie, nhưng đây không phải là những gì tôi muốn.
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);
}
Tôi không muốn xóa cookie trên máy tính người dùng. Tôi chỉ không muốn gửi cookie trở lại người dùng trong Web-Api, để ngăn chặn hết hạn trên một số thao tác trên web-api. Vì vậy, tôi muốn loại bỏ tiêu đề Set-Cookie cụ thể. – Marcin
Ok, sau đó tôi chỉ tò mò tại sao bạn phải làm điều này @Marcin? –
Tôi có ứng dụng web với việc sử dụng nội bộ api trên web. Nó được sử dụng để đơn giản hóa yêu cầu và nhận trách nhiệm về định dạng trả về cho javascript, v.v. Bởi vì tôi đang sử dụng xác thực biểu mẫu, cookie được gửi sau một thời gian, để kéo dài thời gian hết hạn. Có vài hành động trong ứng dụng của tôi, được gọi là nền, tự động. Vì vậy, tôi muốn ngăn họ kéo dài thời gian hết hạn của cookie Auth. – Marcin