[英]MVC 5 ASP.Net Switching Language
我有一个已经正常运行多年的 ASP.net MVC 5 应用程序。
最近在法语和英语之间切换已停止工作。 它部署在 Windows Azure 上。
语言的切换在开发机上还是正常的,使用如下代码:
public ActionResult SetLanguage(string culture)
{
Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo(culture);
Thread.CurrentThread.CurrentUICulture = Thread.CurrentThread.CurrentCulture;
// Validate input
culture = MSP.Services.CultureHelper.GetImplementedCulture(culture);
// Save culture in a cookie
HttpCookie cookie = Request.Cookies["_culture"];
if (cookie != null)
cookie.Value = culture; // update cookie value
else
{
cookie = new HttpCookie("_culture");
cookie.Value = culture;
}
cookie.Expires = DateTime.Now.AddYears(1);
Response.Cookies.Add(cookie);
return RedirectToAction("Index", "Home", new { message = $"The language has now been set to {culture}" });
}
不确定 Windows Azure 上是否发生了一些变化?
我在添加 cookie 之前添加了以下行:
cookie.Secure = true;
它现在适用于所有浏览器。
事实证明,这是自 2020 年夏天开始逐步推出的 Chromium 浏览器所做的必要更改。 IE cookie 应该是安全的。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.