我在servicestack catch客户端cookie上遇到问题。 我的服务域名:service.domain.com 网站(Angular):www.domain.com 专用服务器上的每一个。 我在Servicestack 4中开发了Self-Host方法。 这是我的请求过滤器看起来比没有设置线程文化的cookie。
this.PreRequestFilters.Add((httpReq, httpResp) =>
{
var lang = httpReq.GetCookieValue("Lang");
if (!string.IsNullOrEmpty(lang))
{
Thread.CurrentThread.CurrentUICulture = new CultureInfo(lang);
}
else
{
Thread.CurrentThread.CurrentUICulture = new CultureInfo("en");
httpResp.SetCookie("Lang","en",TimeSpan.FromDays(100));
}
});
这是我的语言服务" Lang"参数。
public class LanguageService : ServiceStack.Service
{
public Language Any(LanguageRequest request)
{
this.Response.SetCookie("Lang", request.Lang, TimeSpan.FromDays(100));
return new Language() { };
}
}
不幸的是,在语言服务之后,提出了一个不容错过的先决者过滤器。 谢谢你的建议。
答案 0 :(得分:1)
默认情况下,不同子域中的Cookie被视为单独的域。
您可以尝试使用以下命令在每个Cookie上指定域名
SetConfig(new HostConfig {
RestrictAllCookiesToDomain = "domain.com",
});