我正在创建.netcore 2.1 MVC应用程序。
我们必须支持UI和控制器返回的消息的多种语言。
我点击了链接: https://docs.microsoft.com/en-us/aspnet/core/fundamentals/localization?view=aspnetcore-2.1
在任何使用Chrome浏览器的浏览器中,我分别用用户A和用户B登录的2个标签。如果用户A更改了偏好的语言,则其UI会以正确的语言显示UI。都好。 现在,如果我刷新用户B选项卡并刷新UI语言,则他/她的语言也将更改。
我正在使用以下代码:
[[source]]
name = "pypi"
url = "https://pypi.org/simple"
verify_ssl = true
[dev-packages]
[packages]
requests = "*"
beautifullsoup = "*"
beautifulsoup4 = "*"
[requires]
python_version = "3.7"
我认为我应该通过在cookie名称中附加userid为每个用户创建单独的cookie。但这是行不通的。
我需要做的其他核心更改可能是startup.cs或其他地方,因此应用程序知道新cookie的名称不是默认名称,并且线程会读取正确的cookie并继续加载区域性信息。
答案 0 :(得分:0)
现在,如果我刷新用户B标签并刷新UI语言,他/她也将更改
这是预期的行为,因为浏览器不会为登录网站的用户创建cookie,而是会在浏览器中为特定域(站点url)创建cookie。因此,无论用户A
还是用户B
更改语言,都会在浏览器中为所有用户设置cookie。
我认为我应该为每个用户创建单独的cookie,方法是在cookie名称中附加userid
您无法完成此操作,因为您只能为CookieRequestCultureProvider
指定1个自定义区域性cookie名称,并且无法基于用户ID支持多个cookie名称。