我正在尝试在服务器和客户端(angularjs,javascript)之间共享一个cookie,我想这样做的唯一方法是在我使用service.RequestContext.Get()时在SS中设置HttpOnly = false ; 似乎无论我尝试设置 cookie 的值是什么,该值都将始终设置为 httpOnly = true。
如果我使用旧的HttpContext.Current.Response.Cookies.Add写入 cookie 可以,但对我来说这不是一个选项,因为我更喜欢使用 IHttpResponse。
请看一下代码:
public override object Logout(IServiceBase service, ServiceStack.ServiceInterface.Auth.Auth request)
{
var resp =service.RequestContext.Get<IHttpResponse>();
resp.Cookies.AddCookie(new Cookie { Name = "r", Path = "/", Value = "from server", HttpOnly = false, Discard = false, Expires = DateTime.Now.AddHours(12) });
return base.Logout(service, request);
}
问题是,该标志不起作用,因为我正在通过RequestContext 访问IHttpResponse,还有其他方法吗?