【发布时间】:2015-06-16 11:44:11
【问题描述】:
我正在尝试通过 c#.net 改变 web api 中的当前文化。我也尝试过使用 web 表单和 asp.net mvc,但没有成功
在查看 Stack Overflow 的一些答案后,我找到了以下改变当前文化的答案。
CultureInfo.CurrentCulture.ClearCachedData();
System.Threading.Thread.CurrentThread.CurrentCulture = new CultureInfo(Code);
System.Threading.Thread.CurrentThread.CurrentUICulture = new CultureInfo(Code);
但是在我更新之后,文化已经改变了仅针对当前请求。从应用程序发送另一个请求后,文化信息已更改为默认值。
我不知道发生了什么。我想在用户注销之前保持应用程序的当前文化。
如何实现这个?
【问题讨论】:
-
如果您在 asp.net mvc/web 表单应用程序中,您需要在 global.asax 文件中执行此操作。如果您在 web-api 中,我认为这没有意义,因为在 web-api 项目中您没有应用程序,而只是独立的 http 请求
-
谢谢。如果我们使用asp.net mvc/web forms应用,在global.asax中怎么办?
-
我在asp.net MVC/web forms应用程序中也试过了,但是没有用。如何在global.asax中实现?
-
它工作正常:当 2 个不同文化的用户登录时会发生什么?您希望文化依赖于每个用户并为每个请求提供参数;我想。
-
相关:Localize text on one page in MVC。您可以跳过有关使用 MVC 进行本地化的内容,直接跳到有关如何为服务请求线程设置文化的段落。
标签: c# asp.net-web-api