ASP.NET Core:如何在中间件中设置Cookie值

时间:2019-02-19 06:22:27

标签: asp.net-core localization razor-pages

我的应用程序是Angular SPA,除了身份页面(例如,manage-my-account页面)之外,所有应用程序都是Razor页面。

当用户使用Angular SPA并将语言从英语更改为法语时,然后从SPA导航到“管理我的帐户”剃刀页面,SPA可以在查询参数中传递区域性,例如{{ 1}},但这并不会持续,一旦用户从那里移动到另一个剃刀页面,查询参数就消失了,而他/她又回到了默认区域性。

另一方面,本地化cookie是持久性的,但是我无法通过SPA设置cookie(它位于不同的域中),我只能控制查询参数。

因此,我正在考虑的一种解决方案是在服务器级别上,一旦检测到查询参数ui-culture,服务器将相应地自动设置文化cookie,因此所有后续导航都将使用法语。知道如何实现吗?

感谢帮助

更新

我突然想到这种方法可能会打开不应该打开的门。如果从任何地方到剃须刀页面的GET请求都可以更改用户的首选语言,这是不好的吗?现在,我不确定再有什么干净的方法可以满足我的要求。

0 个答案:

没有答案