如何解决MVC 5 ASP.Net交换语言
我有一个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;
它现在可以在所有浏览器上使用。
事实证明,这是Chromium浏览器进行的一项必要更改,该更改自2020年夏天开始逐步推出。IEcookie应该是安全的。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。