global.asax Application_AcquireRequestState与Application_BeginRequest

Sha*_*eKm 10 asp.net-mvc asp.net-mvc-4

有什么不同?我想在我的应用程序中实现语言下拉选择.因此,当选择所选语言时,将设置线程文化并重新加载页面.

像这样:

Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture("en-US");
Run Code Online (Sandbox Code Playgroud)

应该在哪里处理上述设置?Application_AcquireRequestState或Application_BeginRequest?

谢谢

Jan*_*Jan 19

这取决于您跨请求保存语言的方式.如果您正在使用session来保存您选择的语言中,你应该使用Application_AcquireRequestState,因为自从Application_BeginRequest就是早些时候在生命周期中,会话状态对象可能还没有获得在这个时候.


Ada*_*SFT 6

Application_BeginRequest在生命周期的早期发生,并且是"通常"的地方.

http://msdn.microsoft.com/en-us/library/ms178473%28v=VS.100%29.aspx