【发布时间】:2019-03-29 13:27:41
【问题描述】:
我正在创建 .netcore 2.1 MVC 应用程序。
我们必须支持多种语言的 UI 和控制器返回的消息。
我点击了链接: https://docs.microsoft.com/en-us/aspnet/core/fundamentals/localization?view=aspnetcore-2.1
在任何浏览器上,比如 Chrome,在 2 个选项卡中,我使用用户 A 和用户 B 登录。如果用户 A 更改了他/她的首选语言,他/她的 UI 会以正确的语言反映 UI。都好。 现在,如果我刷新用户 B 选项卡并刷新 UI 语言也会为他/她更改。
我正在使用以下代码:
public IActionResult SetLanguage(string culture, string returnUrl)
{
Response.Cookies.Append(
CookieRequestCultureProvider.DefaultCookieName,
CookieRequestCultureProvider.MakeCookieValue(new RequestCulture(culture)),
new CookieOptions { Expires = DateTimeOffset.UtcNow.AddYears(1),IsEssential=true }
);
return LocalRedirect(returnUrl);
}
我想我应该通过在 cookie 名称中附加用户 ID 来为每个用户创建单独的 cookie。但这不起作用。
我需要做的更多核心更改可能是 startup.cs 或其他地方,以便应用程序知道新 cookie 的名称不是默认的,线程读取正确的 cookie 并继续加载文化信息。
【问题讨论】:
标签: c# asp.net-core asp.net-core-mvc